删除redis中指定key模式的数据的shell脚本
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了删除redis中指定key模式的数据的shell脚本,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含948字,纯文字阅读大概需要2分钟。
内容图文
![删除redis中指定key模式的数据的shell脚本](/upload/InfoBanner/zyjiaocheng/1170/6190a823e98149309be106455cb6e308.jpg)
有很多场景,我们都需要删除redis中某些具有相似特征的key,即使是线上环境也是。如果key数量很小容易处理,如果这些key很多很多,必须通过scan命令循环扫描一一删除,如果直接执行keys命令会堵死redis服务。下面这个脚本就是通过循环扫码key再删除,直至结束。
redis-del-keys.sh
#!/bin/bash ##redis主机IP host=$1 ##redis端口 port=$2 ##key模式 pattern=$3 ##游标 cursor=0 ##退出信号 signal=0 ##循环获取key并删除 while [ $signal -ne 1 ] do echo "cursor:${cursor}" sleep 2 ##将redis scan得到的结果赋值到变量 re=$(redis-cli -h $host -p $port -c scan $cursor count 1000 match $pattern) ##以换行作为分隔符 IFS=$‘\n‘ #echo $re echo ‘arr=>‘ ##转成数组 arr=($re) ##打印数组长度 echo ‘len:‘${#arr[@]} ##第一个元素是游标值 cursor=${arr[0]} ##游标为0表示没有key了 if [[ $cursor -eq 0 ]];then signal=1 fi ##循环数组 for key in ${arr[@]} do echo $key if [ $key != $cursor ];then echo "key:"$key ##删除key redis-cli -h $host -p $port -c del $key >/dev/null2>&1 fi done done echo ‘done‘
使用方式:
./redis-del-keys.sh localhost 6379 user:*
表示删除本机6379端口的redis中user:开头的所以key。
原文:https://www.cnblogs.com/yinliang/p/13632821.html
内容总结
以上是互联网集市为您收集整理的删除redis中指定key模式的数据的shell脚本全部内容,希望文章能够帮你解决删除redis中指定key模式的数据的shell脚本所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。