美文网首页
【redis】模糊查询&删除操作

【redis】模糊查询&删除操作

作者: warmsirius | 来源:发表于2019-10-16 11:51 被阅读0次

前言

本文转载自博客园:

1. 预备知识:redis支持的3种模糊查询操作

元字符 说明
* 0个或多个匹配
? 1个匹配
[mnl] 匹配m,n,l其中之一

一、模糊搜索查询

redis 默认有16个DB ,分别是 0-15
redis-cli: 进入默认是第一个DB 0
select n: 切换 DB

1. *:0个或多个匹配

  • 例1:查找所有的key
127.0.0.1:6379> select 9
OK
127.0.0.1:6379[9]> keys *
1) "age"
2) "name"
3) "k"
  • 例2:0个或多个匹配
keys h*llo  # 匹配 hllo 和 heeello 等。
127.0.0.1:6379[9]> keys *ame
1) "ame"
2) "name"

2. ?:1个匹配

  • 例:?一个匹配
keys h?llo  # 匹配 hello , hallo 和 hxllo 等,不能匹配hllo。
127.0.0.1:6379[9]> keys ?ame
1) "name"
127.0.0.1:6379[9]> keys n?me
1) "name"

3. [lmn]: m,n,l其中之一

keys h[ae]llo  # 匹配 hallo 和 hello ,但不匹配 hillo;特殊符号用 \ 隔开。
127.0.0.1:6379[9]> keys *ame
1) "ame"
2) "mame"
3) "lame"
4) "name"
127.0.0.1:6379[9]> keys [lmnk]ame
1) "mame"
2) "lame"
3) "name"

二、删除指定key

1. 删除模糊匹配出的key

redis-cli -n 数据库名(0-15) keys Pattern | xargs redis-cli -n 数据库名(0-15) del
192:~ yuanjun$ redis-cli -n 9 keys "*ame"
1) "ame"
2) "mame"
3) "lame"
4) "name"
192:~ yuanjun$ redis-cli -n 9 keys "*ame" | xargs redis-cli -n 9 del
(integer) 4
192:~ yuanjun$ redis-cli -n 9 keys "*ame"
(empty list or set)

2. flushdb:删除当前数据库中的所有Key

flushdb 

3. del key: 删除单个 key

127.0.0.1:6379> set name 'alex'
OK
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> get name
(nil)

4. exists:判断是否存在某个key

在删除某个key之前可以先查询一下是否存在这个key

127.0.0.1:6379> exists name
(integer) 0
127.0.0.1:6379> set name ss
OK
127.0.0.1:6379> exists name
(integer) 1

5. del key1 key2 ...: 同时删除多个key

127.0.0.1:6379> set name sss
OK
127.0.0.1:6379> set lame sss
OK
127.0.0.1:6379> set kame sss
OK
127.0.0.1:6379> keys *
1) "kame"
2) "lame"
3) "name"
127.0.0.1:6379> del kame lame name
(integer) 3

三、批量删除匹配通配符的key

需要使用Linux中的管道和xargs参数:

redis-cli -n 数据库名(0-15) keys Pattern | xargs redis-cli -n 数据库名(0-15) del
  • 如果需要指定数据库,需要用到 -n 数据库编号 参数,下面是删除 2数据库中 s开头的键:

如:

redis-cli -n 2 keys "s*" | xargs redis-cli -n 2 del

redis-cli keys "*" | xargs redis-cli del 
  • 如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径
    如:
/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del

相关文章

网友评论

      本文标题:【redis】模糊查询&删除操作

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