欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

redis批量删除key

发布时间:2025/5/22 编程问答 28 豆豆
生活随笔 收集整理的这篇文章主要介绍了 redis批量删除key 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

批量删除Key

Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作

1 2 3 redis-cli keys "test*" | xargs redis-cli del //如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径 //如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del

如果要指定 Redis 数据库访问密码,使用下面的命令

1 redis-cli -a password keys "*" | xargs redis-cli -a password del

如果要访问 Redis 中特定的数据库,使用下面的命令

1 2 //下面的命令指定数据序号为0,即默认数据库 redis-cli -n 0 keys "*" | xargs redis-cli -n 0 del

删除所有Key

删除所有Key,可以使用Redis的flushdb和flushall命令

1 2 3 4 //删除当前数据库中的所有Key flushdb //删除所有数据库中的key flushall

注:keys 指令可以进行模糊匹配,但如果 Key 含空格,就匹配不到了,暂时还没发现好的解决办法。

 

在数据量大的时候,可以先导出再删除

redis-cli -p 6380 -a redis-pwd keys "preffix-1*" > /home/keys_redis/preffix-1

然后通过这些数据删掉生产环境上的key。

1 cat /home/keys_redis/preffix-1 | xargs redis-cli -a redis-pwd -n 0 del

删除的速度非常快

 

the_day_before_yesterday=`date -d "2 days ago" '+%Y%m%d'` var_keys="RealTimelog*"${the_day_before_yesterday}"*" echo $var_keys redis-cli -a 1234 keys $var_keys | xargs redis-cli -a 1234 del

 

转载于:https://www.cnblogs.com/linn/p/4626467.html

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的redis批量删除key的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。