创建了一个cron作业,用于删除redis中的特定键。
示例键:“\xac\xed\x00\x05t\x00\x15test”
使用bash和redis cli,似乎无法正确解析和删除具有十六进制值的键:
Code below:
host=${1:-}
port=${2:-6379}
database=${3:-0}
pattern=${4:-"Test"}
cursor=-1
keys=""
echo "Starting to delete"
while [ $cursor -ne 0 ]; do
if [ $cursor -eq -1 ]
then
cursor=0
fi
reply=`redis-cli -h $host -p $port SCAN $cursor MATCH $pattern`
cursor=`expr "$reply" : '\([0-9]*[0-9 ]\)'`
keys=${reply##[0-9]*[0-9 ]}
echo "$keys"
redis-cli -h $host -p $port DEL $keys
done
1条答案
按热度按时间z2acfund1#
切换客户端以删除密钥。写了一个小python脚本