为redis中的所有键设置expire是一个好习惯

时间:2014-11-26 05:53:50

标签: performance redis storage ttl

我在我的一个应用程序中使用redis进行缓存,我需要每天存储大约500,000个密钥&需要为所有键设置EXPIRE。    5天后,我将拥有大约250万个钥匙和钥匙。我为所有键设置了EXPIRE。   是否可以为按键设置EXPIRE&让redis每分钟扫描一次,找出过期密钥(According to the documentation)。   这会对性能产生多大影响?

对此有更好的选择吗?

我试图在Google上搜索,但没有发现性能问题。 我主要担心的是性能和记忆。

PS。目前,由于我的redis服务器上的密钥太多,我的redis空间不足。

1 个答案:

答案 0 :(得分:1)

使用expires作为替换算法并不总是一个好主意,它就像FIFO一样。

答案取决于您的工作量。

如果你的工作量是完全随机的(没有比其他人更频繁地访问密钥),没有替换算法可以正常工作(因此,选择一个更简单的算法)。

如果旧密钥的访问次数少于最近的密钥,则FIFO可以。

如果更频繁地访问某些密钥(即,有热键),则lru更好。 请参阅Using Redis as an LRU cache