redis 如何查看长期没有访问的key

Redis 提供了几个命令来帮助我们查看和管理长时间未被访问的 key:

  • DBSIZE:这个命令返回当前数据库的 key 的数量。
  • INFO keyspace:这个命令返回所有数据库的 key 的数量、过期 key 的数量和一些其他统计信息。
  • SCAN:这个命令用来迭代数据库中的 key,可以配合 MATCH 选项来匹配特定模式的 key,配合 COUNT 选项来限制每次迭代返回的 key 的数量。

要查看长时间未被访问的 key,可以使用 SCAN 命令配合 OBJECT IDLETIME 命令来查看 key 的空闲时间。

redis-cli --scan --pattern "*" | xargs -L 1 -I '{}' bash -c 'TTL=$(redis-cli OBJECT IDLETIME "{}" | awk "{{print $1}}"); if [ "$TTL" -gt "36000" ]; then echo "Key: {}, Idle Time: {} seconds" "{}" "$TTL"; fi'

如有密码, 2处redis-cli 后须加-a {密码}

这个命令会扫描所有的 key,并且使用 OBJECT IDLETIME 来获取每个 key 的空闲时间,然后输出空闲时间超过 36000秒(10个小时) 的 key。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容