Redis 模糊查詢刪除操作

2022-06-13 13:00:11 字數 3535 閱讀 6815

建立一條測試 資料 查詢 (預設是 db 0 )

建立:

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 *    # 匹配資料庫內所有 key1) "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

# 刪除單個 keyredis> set name zhangsan

okredis> del name

(integer) 1# 刪除乙個不存在的 keyredis> exists lisi

(integer) 0

redis> del phone# 失敗,沒有 key 被刪除(integer) 0# 同時刪除多個 keyredis> set name "redis"

okredis> set type "key-value store"

okredis> set website "redis.com"

okredis> 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 資料查詢

redis sortedset 資料查詢:172.16.12.36:6003> zrank qa:hall 103228953392713728

(integer) 10021

172.16.12.36:6003> zcard qa:hall

(integer) 10022

ttl key : 以秒為單位,返回給定 key 的剩餘生存時間(ttl, time to live)。

返回值:當 key 不存在時,返回 -2 。

當 key 存在但沒有設定剩餘生存時間時,返回 -1 。

否則,以秒為單位,返回 key 的剩餘生存時間。

在 redis 2.8 以前,當 key 不存在,或者 key 沒有設定剩餘生存時間時,命令都返回 -1 。

查詢檢測 ttl 值:

# 不存在的 keyredis> flushdb

okredis> ttl key

(integer) -2# key 存在,但沒有設定剩餘生存時間redis> set key value

okredis> ttl key

(integer) -1# 有剩餘生存時間的 keyredis> expire key 10086

(integer) 1

redis> ttl key

(integer) 10010

5、redis type key

type key : 返回 key 所儲存的值的型別。

返回值:none (key不存在)

string (字串)

list (列表)

set (集合)

zset (有序集)

hash (雜湊表)

示例:

# 字串redis> set weather "sunny"

okredis> 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 模糊查詢刪除操作

建立一條測試 資料 查詢 建立 set name angelasp查詢 get name 1 模糊搜尋查詢 redis 模糊搜尋keys select 2 2 刪除指定key 刪除所有以user開頭的key 可以這樣實現 redis cli keys user 1 user1 2 user2 red...

Redis模糊查詢

最近使用redis優化專案功能,其中有一部分為模糊查詢,找了很多帖子,也沒有找到很好的解決方案和思路,最終皇天不負有心人啊,終於讓我找到了!可以通過redis中keys命令進行獲取key值,具體命令格式 keys pattern 文中提到redis中允許模糊查詢的有3個萬用字元,分別是 其中 通配任...

redis 模糊刪除key

由於在我們的專案中使用spring cached和redis結合的方式對一部分資料做資料庫快取,當快取和資料庫資料不一致時 由於手動改資料庫引起 就得清空資料庫的快取,這就涉及到redis迷糊匹配刪除資料的情況發生。redis keys命令支援模式匹配,但是del命令不支援模式匹配,有時候需要根據一...