Redis模糊匹配并删除Key

1. 登录可以连接Redis的机器,安装Redis

详情请参见redis-cli连接

2. 执行以下命令,删除模糊匹配到的Key

./redis-cli -h [$Addr] -a [$Password] keys "[$Key]*" | xargs ./redis-cli -h [$Addr] -a [$Password] del

说明:

  • [$Addr]为Redis连接地址。
  • [$Password]为Redis登录密码。
  • [$Key]为想要删除Key的前缀。
  • 您还可以根据实际情况添加参数,例如-n指定库。

3. 案例

  • redis中没有直接根据正则表达式删除key的命令,只有del key1命令
  • 但是redis中有通过正则表达式获取key的命令:keys “正则表达式”
  • 可以借助于xargs命令实现批量删除key,把查出来的key值当做参数传给del
  • redis-cli keys “xxxx*” | xargs del
redis-cli -h 192.169.1.71 -p 7001 -a 123456 keys xxxx* | xargs -r -t -n1 redis-cli -h 192.169.1.71 -p 7001 -a 123456 del
  • xargs命令后需加上参数-r,不然当keys的数量为0时,就会报错 (error) ERR wrong number of arguments for ‘del’ command
  • xargs命令后需加上参数-n1,不然当集群情况keys的数量大于1时,可能会报错 (error) CROSSSLOT Keys in request don’t hash to the same slot
  • 不加-t也可以,加上-t会输出每次删除的内容,不加则不输出删除的内容,但还是会输出每次删除的key的数量

单机redis免密情况下,模糊匹配删除key

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

Redis 模糊搜索

  • keys *   匹配数据库中所有 key
  • keys h?llo   ?为单个占位符
  • keys h*llo   *为多字符占位符
  • keys h[ae]llo   匹配 hallo 和 hello ,但不匹配 hillo;特殊符号用 \ 隔开。

4. 相关文章

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值