我们可以在 .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 的对象。您当然可以计算存储对象的大小并根据需要使用它,但这似乎很麻烦。
我正在寻求 .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 的对象。您当然可以计算存储对象的大小并根据需要使用它,但这似乎很麻烦。