[Redis] redis批量删除
通过redis-cli批量删除指定的key前缀。不废话,直接上脚本
1. 创建文件/tmp/redisKeyExpireAll.sh,内容如下
#!/bin/sh
 
 
# 连接地址
host=127.0.0.1
# 端口
port=6379
# 密码。存在特殊字符需要使用单引号包起来
password='your_password'
# 多个正则,使用空格分开
patternList=("pp-order-*" "pp-user-*" "pp-monitor-*")
# 一次删除的key数量。如果redis cluster,只能指定为1,要不然会报错的!
xargsNum=1
 
for i in {0..255}
do
  for pattern in ${patternList[@]}; do
    echo -e "Pattern of: ${pattern}\n"
    redis-cli -h $host -p $port -a $password -n $i --scan --pattern $pattern | xargs -L $xargsNum redis-cli -h $host -p $port -a $password -n $i del
  done
  echo -e "Done for db: ${i}.\n"
done
2. 授权可运行
chmod +x /tmp/runRedisKeyDelAll.sh
3. 挂到后台运行
nohup /tmp/runRedisKeyDelAll.sh > /tmp/runRedisKeyDelAll.log 2>&1 &
4. 两种监控看是否正常执行
# 看进程 ps aux | grep runRedisKeyDelAll # 看日志输出 tail -f /tmp/runRedisKeyDelAll.log
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号