由于误用插件,某台服务器上的redis实例存在数百万无用的key。为了删除无用数据,上网查找redis批量删除key的方法,发现使用过程中都有问题。经过本人的研究,终于找到redis批量删除key的正确用法。
本文分享最新版Redis批量删除key的方法,希望能帮到遇到同样问题的网友。
redis批量删除key
网上许多文章和教程给出的redis批量删除key命令是:
redis-cli KEYS "$PATTERN" | xargs redis-cli DEL
在本人的实践中,这条命令存在两个问题:
1.redis-cli KEYS "$PATTERN"的结果会出现编号,不是纯粹的key列表,如下所示:
[root@node1]# redis-cli keys "*" 1) ":default:is_blog_installed" 2) ":site-options:1-notoptions"
本人用的是Redis 5版本,未测试低版本Redis是否也会添加1),2)这样的编号。可以想到,因为编号的存在,管道后DEL删除的是错误的key;
2.如果key存在空格,管道后面的DEL将无法正确删除。例如key是”123 4566″,传送到管道后面删除,就变成了删除两个key,与预期不符合。
经过一番研究,redis批量删除key的正确命令是:
redis-cli --raw KEYS "$PATTERN" | xargs -I {} redis-cli DEL "{}"
重点有两个,分别解决上述命令存在的问题:
- 使用 –raw 参数,去掉结果编号;
- xargs使用占位符,删除key时将整个结果传过去,避免了空格问题。
改正后的命令在本人的情况下运行正常,就是删除两百多万个key有点慢,花了半个多小时。
redis批量移动key
如果你知道有用key的模式,并且有用key数量很小,可以通过redis批量移动key,然后flushdb的方法快速删除,效率比上文提到的批量删除大量无用key高很多。
操作方法如下:
- 批量移动key:
redis-cli --raw KEYS "$PATTERN" | xargs -L1 -I{} redis-cli MOVE {} 1
,其中命令最后的1是备份数据库的编号; - 清空当前数据库:
redis-cli flushdb
; - 还原key:
redis-cli -n 1 --raw KEYS "$PATTERN" | xargs -L1 -I{} redis-cli MOVE {} 0
。
注意清空当前数据库的命令是 flushdb
,不能用 flushall
。flushdb
和flushall
的区别是:flushdb
只会清空当前数据库的数据,而flushall
会清空当前redis实例的所有数据。
redis-cli参数
上述命令使用redis-cli
工具完成,在编号为0的默认数据库上操作。对于需要密码、远程redis主机的情况,redis-cli
有如下有用参数:
-n:操作的数据库;
-a:redis数据库密码
-h:redis主机ip,通过-h可以远程批量删除key
-p:redis端口
更多参数请参考帮助文档。
以上就是redis批量删除key的步骤的详细内容,更多关于redis批量删除key的资料请关注其它相关文章!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
- 群星《影视剧 群星闪耀时 影视原声带》[320K/MP3][38.69MB]
- 姜育恒.1998-成名金曲(马来西亚瑞华金碟珍藏版)【瑞华】【WAV+CUE】
- 水木年华.2006-生命狂想曲特别版2CD【水木同创】【WAV+CUE】
- 卢庚戌.2000-未来的未来【喜洋洋】【WAV+CUE】
- 钟汉良.1997-亲热【艺能动音】【WAV+CUE】
- 满文军.2002-我需要你【新索音乐】【WAV+CUE】
- 毛阿敏.2000-毛阿敏·精选集【中唱】【WAV+CUE】
- 钟明秋《爱有天意HQ》头版限量[低速原抓WAV+CUE]
- 云飞《云在飞HQ》头版限量编号[低速原抓WAV+CUE]
- 戏班-就是这个调调【FLAC分轨】
- 黄品源《寂寞旋律》[WAV+CUE][367M]
- 群星《家传户晓~我们三十年的主题曲XRCD》[WAV分轨][532M]
- 谢军《那一夜+又一夜》2CD[WAV分轨][1.2G]
- 苏有朋.1992-我只要你爱我【飞碟】【WAV+CUE】
- 谢金燕.2010-爱你辣【乾坤唱片】【WAV+CUE】