xargs: Warning: a NUL character occurred in the input.

今天遇到一个问题,批量删除redis里的keys报错。原因是java程序在做序列化的时候生成了一些特殊的key!

redis数据如下: xargs: Warning: a NUL character occurred in the input. 批量删除的脚本如下:

redis-cli -h 192.168.11.156 -p 6379 keys "*chnl-stock-mda-*" | xargs redis-cli -h 192.168.11.156 -p 6379 del

但是执行后报Warning且数据未删除:

xargs: Warning: a NUL character occurred in the input.  It cannot be passed through in the argument list.  Did you mean to use the --null option?

再次Google,发现一个解决办法: redis支持 lua脚本,调用lua脚本执行

local key=KEYS[1]
local list=redis.call("keys", key);
for i,v in ipairs(list) do
    redis.call("del", v);
end

保存为de.lua文件 执行命令:

redis-cli -h 192.168.11.156 -p 6379 --eval ./de.lua "*chnl-stock-mda-*" 

再次登录redis查看,完全删除!

shunzi
  • 本文由 发表于 2019-03-2617:23:30
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
记一次Redis集群搭建 BLOG

记一次Redis集群搭建

最近同事需要搭建一套redis集群做测试,完了给我一台机器,让我搭建一下。本着学习的目的,果断搞起。 期间踩了好多坑,特此记录一下,过程如下: OS版本是:Centos 6.6 x86_64 redi...
ChatGPT注册教程 BLOG

ChatGPT注册教程

最近ChatGPT真受欢迎,但是有些人注册时会经常面临不服务它们的地区问题,现在我们给你详细问题解决。 准备 代理。要求是韩国,日本,印度,新加坡,美国这些国家的地址都合适。对其他的我们还不太清楚,反...
deepin linux v20.2系统安装 BLOG

deepin linux v20.2系统安装

安装Deepin V20.2系统 最近因为学习需要,换了一台电脑,完了又是系统的安装。总之,docker环境折腾我了一个多星期。最后完美搞定。 ............ shunzi@thinkpad...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: