• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Redis模糊匹配并删除Key

武飞扬头像
craftsman2020
帮助3

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. 相关文章

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfhfhki
系列文章
更多 icon
同类精品
更多 icon
继续加载