我们可以在 .Net Core 的内存缓存中存储多少 MB 的数据

How much MB of Data can we store in In-Memory Cache in .Net Core

我正在寻求 .Net Core 方面的帮助。

我们能否在 .Net Core Web 应用程序的内存缓存中存储最多 30 MB 的数据。

请告诉我。

谢谢

简短的回答是:

只要您有 RAM 来处理缓存,您的缓存几乎可以增长到任何大小,因此 30 MB 不会成为问题,除非您使用的是非常有限的设备。

您可以在 MemoryCache 实例上指定可选的“大小”限制,但这是可选的,默认情况下没有限制。

它还有一些关于如何指定“大小”的注意事项。

public class MyMemoryCache 
{
    public MemoryCache Cache { get; set; }
    public MyMemoryCache()
    {
        Cache = new MemoryCache(new MemoryCacheOptions
        {
            SizeLimit = 1024
        });
    }
}


var cacheEntryOptions = new MemoryCacheEntryOptions()
    .SetSize(1)
    .SetSlidingExpiration(TimeSpan.FromSeconds(3));

// Save data in cache.
_cache.Set(MyKey, cacheEntry, cacheEntryOptions);

这本身不会限制内存使用,但它只允许存储 1024 个大小为 1 的对象。您当然可以计算存储对象的大小并根据需要使用它,但这似乎很麻烦。

https://docs.microsoft.com/en-us/aspnet/core/performance/caching/memory?view=aspnetcore-5.0#use-setsize-size-and-sizelimit-to-limit-cache-size