`

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的方法

    在Redis中,虽然没有直接提供批量删除键(Key)的命令,但我们可以利用Linux的xargs工具结合Redis的客户端redis-cli来实现这一功能。这里主要介绍如何借助xargs来批量删除Redis中的Key。 首先,Redis提供了`DEL`...

    redis批量删除key的步骤

    Redis 是一个高性能的键值存储系统,用于存储和检索数据,包括字符串、哈希表、列表、集合和有序集合等多种数据结构。在某些场景下,如数据清理或...了解更多关于Redis批量操作的知识,可以参考相关文档和社区资源。

    Redis-PipeLine批量导入.docx

    总的来说,Redis Pipeline 批量导入是一种高效的数据导入方式,通过预处理命令文件并使用 Redis 协议格式,可以确保数据的准确导入并减少网络延迟。同时,结合 MySQL 数据库的特性,可以方便地将数据库数据转换为 ...

    易语言的Redis协议实现:JimStone 谢栋 Redis协议客户端模块:STRedisClient

    例如,使用`连接服务器`方法连接到Redis,`发送命令`方法发送Redis命令,如`SET key value`设置键值对,`获取数据`方法获取指定键的值等。 STRedisClient模块提供了丰富的Redis命令支持,包括但不限于字符串操作...

    redis-cheatsheet-v1

    4. **批量获取:`mget key1 key2 ... keyN`** - 用途:获取多个键的值。 - 返回:包含所请求键值的数组,未找到的键对应的值为"nil"。 通过上述介绍,我们不仅了解了Redis的基础操作,还深入掌握了其核心命令的...

    阿里云Redis开发规范1

    对于非字符串的bigkey,避免使用`del`删除,应使用`hscan`、`sscan`、`zscan`渐进式删除,并注意过期时间设置,防止集中过期导致阻塞。 2. 命令使用: - 关注O(N)命令,如`hgetall`、`lrange`等,确保N值在可接受...

    Redis开发规范1

    6. Redis集群版本使用Lua脚本时,所有key应通过KEYS数组传递,并确保所有key位于同一槽中。 **客户端使用**: 1. 避免多个应用共享同一个Redis实例,应将不相干的业务拆分开,公共数据服务化。 2. 使用连接池(如...

    Redis支持的数据类型、相关命令和功能

    9. **MGET key [key ...]**:批量获取多个键的值。 10. **MSET key value [key value ...]**:同时设置多个键的值。 11. **MSETNX key value [key value ...]**:同时设置多个键的值,只有当所有键都不存在时才...

    redis开发规范 精讲 精华部分

    6. 在Redis集群中使用Lua脚本时,需注意所有key在同一slot上,且key由`KEYS`数组传递,确保兼容集群模式。 四、监控与安全 - 使用`monitor`命令时要谨慎,因为它可能对服务器性能造成影响,只在必要时使用,并确保...

    redis window操作

    6. **命令操作**:Redis通过命令行接口执行各种操作,如`SET key value`设置键值,`GET key`获取键值,`DEL key`删除键,`LPUSH key value`在列表尾部添加元素,`HSET key field value`在哈希表中设置字段等。...

Global site tag (gtag.js) - Google Analytics