如何获得Redis关键命中数?

时间:2017-11-27 19:45:23

标签: redis stackexchange.redis

是否可以通过命中计数获取存储在数据库中的所有密钥?

我想根据点击次数对键进行排序。

1 个答案:

答案 0 :(得分:1)

从v4.0.1开始,Redis不提供此功能。如果您需要它以通过删除未使用的密钥来释放空间,您应该考虑使用Redis的到期机制。

有几种方法可以尝试接近你想要的东西:

  • 运行MONITOR,解析输出并制作自己的统计信息。但请注意命令对生产环境中的性能的影响。
  • 激活LFU驱逐策略(v4中的新功能,如果不使用到期时可以设置为volatile-lfu),然后通过在每个键上调用SCANOBJECT freq

也就是说,管道(https://github.com/antirez/redis/issues/4473)目前正在努力改进使用LFU时热键的检测。

更新:redis-cli已添加--hotkeys模式,该模式按照第2章中的描述进行操作。