redis遍历所有key大小
redis便利所有key大小
注意:生产环境建议在业务量最低运行时使用 (会生成两个文件)
#!/bin/bash
# 指定输出文件
output_file="redis_key_sizes.txt"
output_file_sort="sort_redis_key_sizes.txt"
# 清空之前的输出文件内容
> "$output_file"
# 获取所有 keys 并循环处理
redis-cli -n 4 keys '*' | while read key; do
# 获取每个 key 的内存占用
memory_usage=$(redis-cli MEMORY USAGE "$key")
# 检查 MEMORY USAGE 命令的输出是否为数字
if [[ $memory_usage =~ ^[0-9]+$ ]]; then
echo "$key $memory_usage" >> "$output_file"
else
echo "$key NA" >> "$output_file"
fi
done
echo "完成。输出已保存到 $output_file"
awk '{print $2,$1}' "$output_file" | sort -nr | awk '{print $2, $1/(1024*1024)}' > "$output_file_sort"

浙公网安备 33010602011771号