当前位置:首页 > 开发 > 互联网 > 正文

redis批量删除带空格的key

发表于: 2015-04-02   作者:bylijinnan   来源:转载   浏览:
摘要: redis批量删除的通常做法: redis-cli keys "blacklist*" | xargs redis-cli del 上面的命令在key的前后没有空格时是可以的,但有空格就不行了: $redis-cli keys "blacklist*" 1) "blacklist:12: 361942420@qq.com
redis批量删除的通常做法:

redis-cli keys "blacklist*" | xargs redis-cli del


上面的命令在key的前后没有空格时是可以的,但有空格就不行了:
$redis-cli keys "blacklist*"
1) "blacklist:12: 361942420@qq.com "


注意到361942420@qq.com前后都有一个空格
有空格的话,就要把key用双引号括起来,像这样是可以删除的:

$redis-cli del "blacklist:12: 361942420@qq.com "


那批量的操作怎么做呢?

最后的解决办法是,用引号括起来,为每一个key拼好一个命令:

$redis-cli keys "blacklist*" > keys.txt
$awk '$0="redis-cli del \""$0"\""' keys.txt > cmd.txt
$cat cmd.txt
redis-cli del "blacklist:12: 361942420@qq.com "


再执行cmd.txt:

$chmod a+x cmd.txt
$./cmd.txt


最后要说的是,在key的前后引入的空格是一个失误,实际上应该trim一下

redis批量删除带空格的key

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Redis批量删除key 用linux的xargs命令,把前一个命令的结果当作后一个命令的参数,比如要删除redis
Redis批量删除key 用linux的xargs命令,把前一个命令的结果当作后一个命令的参数,比如要删除redis
最近发现线上的session 服务器每隔一段时间内存占用就达到24G,通过redis info查看发现expires key
今天上午的任务是做一个批量删除。 1、要做批量删除,需要在页面上做一组checkbox来让用户进行多选
删除一个字符串的空格 比如:一个字符串为:hello world 输出结果为 helloworld 程序如下: #includ
redis对于key的操作命令 del key1 key2 ... keyn 作用: 删除1个或多个键 返回值: 不存在的key忽略掉
一般在Windows的软件大部分安装在c:\ Program Files下面,比如我机器上的Java位置就是C:\Program Fi
不用说了,上图先: import java.util.ArrayList; import com.ql.adapter.DeletableAdapter; import
不用说了,上图先: import java.util.ArrayList; import com.ql.adapter.DeletableAdapter; import
不用说了,上图先: import java.util.ArrayList; import com.ql.adapter.DeletableAdapter; import
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号