在.NET Core WebAPI中使用分布式内存缓存时设置最大内存

时间:2019-02-26 01:31:09

标签: c# asp.net-core

我正在编写一个基于.NET Core的WebAPI。我想通过在Startup.ConfigureServices中注册IDistributedCache,为我的开发环境使用分布式内存缓存。

public void ConfigureServices(IServiceCollection services)
{
    if (_hostContext.IsDevelopment())
    {
        services.AddDistributedMemoryCache();
    }
    else
    {
        services.AddDistributedRedisCache(options =>
        {
          options.Configuration = "localhost";
          options.InstanceName = "SampleInstance";
        });
    }
}

但是,我不希望数据缓存耗尽我的大部分RAM。例如,如何限制DistributedMemoryCache仅使用2GIG?

1 个答案:

答案 0 :(得分:1)

AddDistributedMemoryCache()有一个重载,可让您配置MemoryDistributedCacheOptions。您可以这样做:

services.AddDistributedMemoryCache(options =>
{
   options.SizeLimit = 2000 * 1024 * 1024; // 2000MB
});

看起来默认值为200MB