保留过期密码的键

问题描述 投票:1回答:1

我们平均每秒钟要过期1000个密钥,同时拍摄快照时,我们偶然发现转储的大小比主快照要小,因为快照不包括过期密钥的内存。由于过期密钥在我们的平台上拥有大量内存,因此有什么方法可以使redis定期释放为过期密钥保留的内存。 (我们使用的是2.8.21引擎)或最新的Redis引擎版本将无法有效解决此问题。如果stackoverflow不适合我的问题,请引导我进入正确的平台。

回收内存指南:https://docs.redislabs.com/latest/ri/memory-optimizations/reclaim-expired-keys-memory-faster/(但需要提出建议,如文档中所述,升级会有所帮助还是进行扫描会很好)

redis stackexchange.redis node-redis redis-cluster redislabs
1个回答
1
投票

过期的密钥已从内存中删除:

  • 被动:当您尝试访问它时,发现密钥超时。 这是完整的SCAN会为您提供帮助的方式,它将强制对所有键空间进行被动删除。
  • 主动:每100毫秒,它将尝试从内存中删除过期的密钥at random,在每个周期上,它从未投入超过1毫秒的时间,直到它估计剩余不到25%的过期密钥为止。逻辑并不那么琐碎,请参阅activeExpireCycle2.8.21 version)。

升级可能会有所帮助,因为有新的功能/配置设置,例如activedefrag

请参阅Redis filling up memory fast, running --bigkeys free it up了解包括驱逐政策和有效到期频率的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.