我正在使用.net 4内存缓存.我想将缓存的大小限制为10mb,因为我不希望我的应用程序滥用其中的内容.
我还想知道在任何给定时间我的缓存有多少内存.我怎么能在运行时说出来?
arc*_*ain 43
您可以指定专门为物理内存的最大量MemoryCache使用的应用程序配置文件namedCaches当您创建,或通过传递设置元素MemoryCache通过实例NameValueCollection传递到构造通过将集合中的一个条目与关键cacheMemoryLimitMegabytes和值10.
以下是namedCaches配置元素的示例:
<configuration>
<system.runtime.caching>
<memoryCache>
<namedCaches>
<add name="Default"
cacheMemoryLimitMegabytes="10"
physicalMemoryLimitPercentage="0"
pollingInterval="00:05:00" />
</namedCaches>
</memoryCache>
</system.runtime.caching>
</configuration>
Run Code Online (Sandbox Code Playgroud)
以下是如何MemoryCache在创建期间配置:
//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);
Run Code Online (Sandbox Code Playgroud)
这篇博文详细介绍了配置MemoryCache对象的所有方法,并且从这个来源改编了一些示例.
您可以在配置中执行此操作...例如......
<system.runtime.caching>
<memoryCache>
<namedCaches>
<add name="Default"
cacheMemoryLimitMegabytes="52"
physicalMemoryLimitPercentage="40"
pollingInterval="00:04:01" />
</namedCaches>
</memoryCache>
</system.runtime.caching>
Run Code Online (Sandbox Code Playgroud)
要在代码中执行此操作,请参阅... 此msdn页面
| 归档时间: |
|
| 查看次数: |
15072 次 |
| 最近记录: |