在实际使用环境中,有时候我们需要清空所有redis集群的数据进行测试,这是使用这个脚本就开始发挥作用了。希望能帮到所需要的人。
cat /tmp/flushall-cluster.sh
脚本怎么使用
sh flushall-cluster.sh 主机地址 端口
参考:
flushall-cluster.sh
1 使用cliFLUSHDB 清除一个数据库,FLUSHALL清除整个redis数据。
2 使用shell
redis-cli keys "*" | while read LINE do TTL=`redis-cli ttl $LINE`if [ $TTL -eq -1 ]then echo "Del $LINE"RES=`redis-cli del $LINE`fidone
删除 3600秒之后过期的
redis-cli keys "*" | while read LINE do TTL=`redis-cli ttl $LINE`if [ $TTL -ge 3600 ]then echo "Del $LINE"RES=`redis-cli del $LINE`fidone
删除某些前缀的
redis-cli KEYS "126.com*" | xargs redis-cli DEL
3 使用lua脚本
删除所有keyEVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 *
删除某些key
EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 126.com*
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)