#!/bin/bash
REDIS_SERVER=REDIS_SERVER
PORT=PORT
PASSWORD=PASSWORD
# 设置游标初始值
cursor=0
# 使用无限循环来迭代数据
while :
do
# 使用scan命令获取游标后的数据
reply=$(redis-cli -h $REDIS_SERVER -p $PORT -a $PASSWORD SCAN $cursor MATCH "yourKey*" COUNT 900000)
# 提取游标和数据
# echo $reply
cursor=$(echo $reply | awk '{print $1}')
keys=$(echo $reply | awk '{for (i=2; i<NF; i++) print $i}')
echo "-----keys=$keys"
echo "------------------------"
# 删除匹配的keys 集群时需要单个删除
for k in $keys
do
echo ">>>>$k"
redis-cli -h $REDIS_SERVER -p $PORT -a $PASSWORD UNLINK $k
done
# 检查游标是否为0,0表示迭代结束
if [ "$cursor" = "0" ]; then
break
fi
done
echo "Redis cleanup completed."
shell 使用游标删除集群数据
于 2024-06-28 17:23:48 首次发布