返回到文章

采纳

编辑于 1月前

导出 Redis 的所有 key 并进行分类

SRE redis
redis
运维

1. 使用 SCAN 命令批量导出所有 key

SCAN 是非阻塞的,可以安全地在生产环境中使用:

redis-cli --scan > keys.txt

该命令将所有 key 写入 keys.txt 文件。

注意

  • SCAN 不会阻塞 Redis 服务。
  • 如果 key 很多,可以通过分批处理 COUNT 来控制输出量:
    redis-cli SCAN 0 COUNT 1000 > keys.txt
    

2. 对 key 进行分类

一般情况下,key 有特定的命名规则(例如 prefix:subprefix:key),可以通过前缀进行分类。

使用 shell 脚本对 key 分类

cat keys.txt | awk -F: '{print $1}' | sort | uniq -c > key_classes.txt

输出示例:

150 user
 90 session
 60 product

这表示 user 前缀的 key 有 150 个,session 有 90 个。