Is there a way to enforce a size limit of MemoryCache in System.Runtime.Caching?

后端 未结 3 1714
囚心锁ツ
囚心锁ツ 2021-02-02 11:32

I\'m using .net 4 Memory Cache. I would like to limit the size of the cache say to 10mb because I don\'t want my application to be abusing what goes in there.

I would al

3条回答
  •  被撕碎了的回忆
    2021-02-02 12:18

    You can specify the maximum amount of physical memory dedicated to the MemoryCache in the application config file using the namedCaches element, or by passing in the setting when you create your MemoryCache instance via the NameValueCollection passed into the constructor by putting an entry in the collection with a key of cacheMemoryLimitMegabytes and a value of 10.

    Here is an example of the namedCaches configuration element:

    
      
        
          
            
          
        
      
    
    

    And here is how you can configure the MemoryCache during creation:

    //Create a name / value pair for properties
    var config = new NameValueCollection();
    config.Add("pollingInterval", "00:05:00");
    config.Add("physicalMemoryLimitPercentage", "0");
    config.Add("cacheMemoryLimitMegabytes", "10");
    
    //instantiate cache
    var cache = new MemoryCache("CustomCache", config);
    

    This blog post details just about all of the ways to configure the MemoryCache object, and some examples were adapted from this source.

提交回复
热议问题