使用Redis时可限制Azure上的输出缓存大小

时间:2018-10-02 18:52:22

标签: azure outputcache azure-redis-cache

按照此处的说明,我正在使用Redis作为缓存存储区在Azure上配置输出缓存:

https://docs.microsoft.com/en-us/azure/redis-cache/cache-aspnet-output-cache-provider

我无法确定如何限制Azure上输出缓存的大小。因此,我在网上可以找到的唯一说明与直接IIS配置有关。有人知道吗?

1 个答案:

答案 0 :(得分:0)

请查看以下文档(How to Configure Azure Redis Cache),其中有一节讨论memory policies

“高级设置刀片上的Maxmemory策略,maxmemory-reserved和maxfragmentmentation-memory-reserved设置为缓存配置内存策略。”

Maxmemory策略为缓存配置驱逐策略,并允许您从以下驱逐策略中进行选择: volatile-lru -这是默认的驱逐策略 allkeys-lru 易失性随机 allkeys-random volatile-ttl 驱逐 有关最大内存策略的更多信息,请参见Eviction Policies

“ maxfragmentmentmemory-reserved设置配置以MB为单位保留的内存量,以适应​​内存碎片。设置此值可使您在缓存已满或接近满并且碎片化时获得更一致的Redis服务器体验比率很高。当为此类操作保留内存时,将无法用于存储缓存的数据。” “选择新的内存保留值(最大内存保留或最大片段内存保留)时,要考虑的一件事是此更改可能如何影响已经在其中运行大量数据的缓存。例如,如果您拥有53 GB缓存49 GB的数据,然后将保留值更改为8 GB,此更改会将系统的最大可用内存降至45 GB。如果您当前的used_memory或used_memory_rss值高于新的45 GB限制,那么系统将不得不逐出数据,直到used_memory和used_memory_rss都低于45 GB。逐出会增加服务器负载和内存碎片。有关useed_memory和used_memory_rss等缓存指标的更多信息,请参阅Available metrics and reporting intervals。”