建立一條測試 資料 查詢 (預設是 db 0 )
建立:set name xiaoming查詢:get name
1、模糊搜尋查詢 (redis 預設有16個db , 0-15 )
redis 模糊搜尋1、keys* 匹配資料庫中所有 key2、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 delredis-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> flushdbokredis> 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命令不支援模式匹配,有時候需要根據一...