美文网首页
redis批量删除key

redis批量删除key

作者: 简简天天 | 来源:发表于2020-04-14 00:58 被阅读0次

使用redis的过程中,经常会遇到要批量删除某种规则的key,但是redis提供了批量查询一类key的命令keys或scan,没有提供批量删除某种规则key的命令。

image.png

使用keys+xargs实现批量删除

./redis-cli keys a_* | xargs ./redis-cli del

就是用keys a_*查询出所有匹配的key,通过xargs命令,将前面查询出来的key作为后面redis的del命令的输入,这样就可以实现redis批量删除键了。

使用keys+xargs实现批量删除弊端

redis是单线程,如果redis包含了大量的键,执行keys命令可能会造成redis阻塞,所以一般建议不要在生产环境下使用keys命令。如果非要遍历键删除的话,可以在以下三种情况使用:
(1)在一个不对外提供服务的Redis从节点上执行,这样不会阻塞到客户端的请求,但是会影响到主从复制。
(2)如果确认键值总数确实比较少,可以执行该命令。
(3)使用scan命令渐进式的遍历所有键,可以有效防止阻塞。

使用scan+xargs批量删除

./redis-cli -h 127.0.0.1 -p 6379 --scan --pattern 'a_*' | xargs ./redis-cli -h 127.0.0.1 -p 6379 del

xargs命令介绍

xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。

相关文章

  • 使用命令行批量删除redis的key

    使用命令行批量删除redis的key Redis 中有删除单个 Key 的指令 del,但好像没有批量删除 Key...

  • redis批量删除key,key包含空格,\n

    redis没有提供批量删除命令,借助linux的 xargs 命令实现批量删除 key中不带空格 如果key中带有...

  • 批量删除Redis Key

    方式一:Linux命令完成批量删除 Redis中有删除单个key的指令del,但没有批量删除key的指令,不过我们...

  • redis如何实现批量删除key功能

    keys 在测试环境使用redis的时候,经常会要批量删除key,我们但是redis并没有提供批量删除的命令,但是...

  • python3使用redis库批量删除未设置过期时间的key

    python使用redis库批量删除未设置过期时间的key

  • redis使用技巧

    批量删除Keys 指定数据库删除Keys 远程批量删除Keys 动态查看redis连接数 找出比较大的Key

  • redis批量删除key

    使用redis的过程中,经常会遇到要批量删除某种规则的key,但是redis提供了批量查询一类key的命令keys...

  • Redis:批量删除Key

    redis-cli中只有一个del命令可以用来删除key,但是无法用到keys命令的那个匹配模式。目前比较好的解决...

  • redis 批量删除key

    redis数据库访问密码,使用下面的命令 特定的数据库,使用下面的命令 -n参数

  • redis

    根据通配符批量删除 key (借助linux管道) redis-cli -a password keys "tes...

网友评论

      本文标题:redis批量删除key

      本文链接:https://www.haomeiwen.com/subject/owramhtx.html