码迷,mamicode.com
首页 > 其他好文 > 详细

Redis--模糊查询(转)

时间:2020-12-09 12:36:42      阅读:15      评论:0      收藏:0      [点我收藏+]

标签:tle   exist   rgs   一个   多个   失败   返回值   strong   xiaomi   

创建一条测试 数据 查询 (默认是 DB0)

创建:
set name xiaoming 查询: get name

1、模糊搜索查询 (redis 默认有16个DB , 0-15 )

技术图片
Redis 模糊搜索
1、keys *   匹配数据库中所有 key 
2、keys h?llo   匹配 hello , hallo 和 hxllo 等。
3、keys h*llo   匹配 hllo 和 heeello 等。
4、keys h[ae]llo   匹配 hallo 和 hello ,但不匹配 hillo;特殊符号用 \ 隔开。
redis> keys *o*
1) "four"
2) "two"
3) "one"
redis> keys t??
1) "two"
redis> keys t[w]*
1) "two"
redis> keys *    # 匹配数据库内所有 key
1) "four"
2) "three"
3) "two"
4) "one"
redis-cli  进入默认是第一个DB 0 ; select 切换 DB 
> select 2;
技术图片

2、删除指定key :

技术图片
# 删除所有以 user 开头的key 可以这样实现:
# redis-cli keys "user*"
1) "user1"
2) "user2"

# redis-cli keys "user*" | xargs redis-cli del
(integer) 2
# 删除成功

# 删除当前数据库中的所有Key 
> flushdb 

# 删除所有数据库中的key 
> flushall
# 删除单个 key redis> SET name zhangsan OK redis> DEL name (integer) 1 # 删除一个不存在的 key redis> EXISTS lisi (integer) 0 redis> DEL phone   # 失败,没有 key 被删除 (integer) 0 # 同时删除多个 key redis> SET name "redis" OK redis> SET type "key-value store" OK redis> SET website "redis.com" OK redis> DEL name type website (integer) 3
技术图片
# 批量删除匹配通配符的key用到了Linux中的管道和xargs参数:
redis-cli keys "s*" | xargs redis-cli 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
技术图片

3、Redis Sortedset 数据查询

技术图片
172.16.12.36:6003> zrank qa:hall 103228953392713728
(integer) 10021

172.16.12.36:6003> ZCARD qa:hall
(integer) 10022
技术图片

4.TTL key : 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。

返回值:
当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以秒为单位,返回 key 的剩余生存时间。
在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1 。
技术图片
# 不存在的 key
redis> FLUSHDB
OK
redis> TTL key
(integer) -2

# key 存在,但没有设置剩余生存时间
redis> SET key value
OK
redis> TTL key
(integer) -1

# 有剩余生存时间的 key
redis> EXPIRE key 10086
(integer) 1

redis> TTL key
(integer) 10010
技术图片

5、TYPE key : 返回 key 所储存的值的类型。

技术图片
返回值:
none (key不存在)
string (字符串)
list (列表)
set (集合)
zset (有序集)
hash (哈希表)
技术图片

示例:

技术图片
# 字符串
redis> SET weather "sunny"
OK
redis> TYPE weather
string

# 列表
redis> LPUSH book_list "programming in scala"
(integer) 1
redis> TYPE book_list
list

# 集合
redis> SADD pat "dog"
(integer) 1
redis> TYPE pat
set

Redis--模糊查询(转)

标签:tle   exist   rgs   一个   多个   失败   返回值   strong   xiaomi   

原文地址:https://www.cnblogs.com/absoluteli/p/14090241.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!