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 个。