geek的技术日志,记录每一次技术思考的闪光点。

如何查询redis命中率

redis提供了INFO这个命令,能够随时监控服务器的状态,只用telnet到对应服务器的端口,执行命令即可:

telnet localhost 6379
info
在输出的信息里面有这几项和缓存的状态比较有关系:
keyspace_hits:14414110
keyspace_misses:3228654
used_memory:433264648
expired_keys:1333536
evicted_keys:1547380
  • 查询命中数: 查询的命中个数,对应 keyspace_hits 字段。
  • 查询未命中数: 查询的未命中个数,对应 keyspace_misses 字段。
  • 查询命中率: 查询命中率,对应 keyspace_hits / ( keyspace_hits + keyspace_misses )。
  • 总Key个数: 缓存中总的 key 个数,所有 db 的 key 个数总和。
  • 已过期Key个数: 缓存中已过期 Key 个数,对应 expired_keys 字段。
    当缓存内存不足时,会根据用户配置的 maxmemory-policy 来选择性地删除一些 key 来保护内存不溢出
通过计算hits和miss,我们可以得到缓存的命中率:14414110 / (14414110 + 3228654) = 81% ,一个缓存失效机制,和过期时间设计良好的系统,命中率可以做到95%以上
打赏作者

未经允许不得转载:极客技术 » 如何查询redis命中率

直达链接
分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址