Azure Redis缓存 - 需要帮助选择MaxMemory-Reserved& MaxMemory-政策

时间:2017-02-10 23:14:42

标签: redis stackexchange.redis azure-redis-cache

1)为不同的Redis层设置MaxMemory-Reserved配置的理想值是多少?我们是否有任何可以参考的建议/指导?

2)以下哪一个是更好的方法:

- >为Redis缓存中的所有对象/密钥实施TTL,并将MaxMemorey-Policy设置为“volatile-lru”

- >或者,不要使用TTL,只需将MaxMemory-Policy设置为“allkeys-lru”?

- >或者,任何其他建议?

感谢对此的任何意见。

1 个答案:

答案 0 :(得分:0)

正如此官方document所述, maxmemory-reserved

  

maxmemory-reserved设置配置为非缓存操作(例如故障转移期间的复制)保留的MB内存量。当碎片率较高时,也可以使用它。设置此值可让您在负载变化时获得更一致的Redis服务器体验。对于写入较多的工作负载,应将此值设置得更高。当为这些操作保留内存时,它不可用于存储缓存数据。

     

注意: maxmemory-reserved设置仅适用于标准和高级缓存。

要为 Maxmemory政策设置适当的逐出政策,您需要考虑应用程序的访问模式。正如document提到的Maxmemory政策:

  

当您希望在请求的受欢迎程度中使用幂律分布时,使用 allkeys-lru 策略,也就是说,您希望访问元素的子集的次数远远超过其他元素。 如果您不确定,这是一个不错的选择。

     

如果您希望能够在创建缓存对象时通过使用不同的TTL值向Redis提供有关到期的最佳候选者的提示,请使用 volatile-ttl

有关详细信息,请参阅此document。此外,您可以按照此tutorial对Azure Redis缓存进行故障排除,并使用此tutorial监控Azure门户中的Redis缓存。