`

redis批量删除带空格的key

阅读更多
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一下
1
1
分享到:
评论

相关推荐

    redis批量删除以指定内容开头的key

    用java写了个redis批量删除以指定内容开头的key,使用时只需要修改config.json中的配置(host,port,database,delKey:指定的key值开头),然后java -jar demo.jar运行即可

    redis批量删除key的步骤

    为了删除无用数据,上网查找redis批量删除key的方法,发现使用过程中都有问题。经过本人的研究,终于找到redis批量删除key的正确用法。 本文分享最新版Redis批量删除key的方法,希望能帮到遇到同样问题的网友。 ...

    Redis批量删除KEY的方法

    主要介绍了Redis批量删除KEY的方法,本文借助了Linux xargs命令实现,需要的朋友可以参考下

    Redis获取某个前缀的key脚本实例

    主要给大家介绍了关于Redis获取某个前缀的key脚本的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Redis具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    Redis集群下过期key监听的实现代码

    在使用redis集群时,发现过期key始终监听不到。网上也没有现成的解决方案。于是想,既然不能监听集群,那我可以建立多个redis连接,分别对每个redis的key过期进行监听。以上做法可能不尽人意,目前也没找到好的解决...

    Redis如何优雅的删除特定前缀key

    Redis中没有批量删除特定前缀key的指令,但我们往往需要根据前缀来删除,那么究竟该怎么做呢?可能你一通搜索后会得到下边的答案 redis-cli --raw keys "ops-coffee-*" | xargs redis-cli del 直接在linux下通过...

    redis集群批量插入

    java连接redis集群批量String类型插入

    python redis 批量设置过期key过程解析

    主要介绍了python redis 批量设置过期key过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    shell脚本批量删除redis数据.txt

    linux系统下,模糊匹配,可批量删除redis的key,修改ip即可使用。试用场景:redis内存爆满、redis不能定时清理数据等。

    Redis热点key及大key解决方案.docx

    Redis热点key及大key解决方案.docx

    redis 操作命令

    redis> DEL phone # 失败,没有 key 被删除 (integer) 0 # 同时删除多个 key redis> SET name "redis" 1 Redis 命令参考, Release 2.8 OK redis> SET type "key-value store" OK redis> SET website "redis.com" OK ...

    spring-data-redis支持批量操作

    1、基于1.8.0的基础上提供批量的数据操作包括get set del hmget hmset方法 2、使用方法如下: public List<V> pipelineGet(Set<K> keys){ return rt.opsForPipeline().get(keys); } public void pipelineSet...

    redis命令集合,redis命令详解

    redis命令集合,redis命令详解 适合全体类型的命令 EXISTS key 判断一个键是否存在;存在返回 1;否则返回0; DEL key 删除某个key,或是一系列key;DEL key1 key2 key3 key4 TYPE key 返回某个key元素的数据类型 ( none:...

    golang写的文件批量删除工具delete_tool.exe

    golang写的文件批量删除工具delete_tool.exe

    Redis Desktop Manager 2019.5.0

    Redis Desktop Manager是一款非常实用的Redis桌面管理工具,它可以支持命令控制台操作,以及常用,查询key,rename,delete等操作

    docker 运行redis-trib 带密码创建redis cluster集群配置

    docker 运行redis-trib 带密码创建redis cluster集群配置,没有密码的请自己去下载一个redis-trib.rb替换

    Redis基础.md

    # Redis基础 ## 数据类型 ### strings * `set key value`和`get key`,注意set操作会覆盖已有的key/value,若不希望覆盖可使用`set key value nx` * `mset key1 value1 key2 value2 ...`和`mget key1 key2 ...`...

Global site tag (gtag.js) - Google Analytics