Redis 通用指令 key 與 db

key通用操作

key 特徵:

 key是一個字符串,通過key獲取redis中保存的數據

key的相關操作:

對於key自身狀態的相關操作,例如:刪除,判定存在,獲取類型等

對於key有效性控制相關操作,例如:有效期設定,判定是否有效,有效狀態的切換等

對於key快速查詢操作,例如:按指定策略查詢key

  • 刪除指定key
del key
  • 獲取key是否存在
exists key

案例:

127.0.0.1:6379> zadd user 10 xx 20 yy 30 ww
(integer) 3
127.0.0.1:6379> EXISTS user
(integer) 1  存在
  • 獲取key的類型 
type key

案例:

127.0.0.1:6379> zadd user 10 xx 20 yy 30 ww
(integer) 3
127.0.0.1:6379> type user
zset
127.0.0.1:6379> SET name haha
OK
127.0.0.1:6379> type name
string
127.0.0.1:6379> hset age uid 20
(integer) 1
127.0.0.1:6379> type age
hash

key 擴展操作(時效性控制)

  • 爲指定key設置有效期
expire key seconds  秒
pexpire key milliseconds  毫秒
expireat key timestamp  時間戳
pexpireat key milliseconds-timestamp  毫秒時間戳

案例:

127.0.0.1:6379> EXPIRE name 5
(integer) 1
127.0.0.1:6379> get name
"haha"
127.0.0.1:6379> get name
(nil)
  • 獲取key的有效時間
ttl key
pttl key

案例:

127.0.0.1:6379> EXPIRE name 10
(integer) 1
127.0.0.1:6379> TTL name
(integer) 4  剩餘有效時間

注意: 當key沒有設置有效期,ttl指令的返回值爲-1, 當key設置了有效期,ttl指令返回的數字爲剩餘有效期,若返回-2則代表該key已過期

  • 切換key從時效性轉換爲永久性
persist key

案例:

127.0.0.1:6379> set name haha
OK
127.0.0.1:6379> EXPIRE name 60
(integer) 1
127.0.0.1:6379> ttl name
(integer) 55
127.0.0.1:6379> PERSIST name
(integer) 1
127.0.0.1:6379> ttl name
(integer) -1

key 擴展操作(查詢key)

keys pattern  pattern是匹配規則

查詢模式規則:

* 匹配任意數量的任意符號    ? 配合一個任意符號    [] 匹配一個指定符號

keys *             查詢所有
keys it*           查詢所有以it開頭
keys *haha         查詢所有以haha結尾
keys ??haha        查詢所有前面兩個字符任意,後面以haha結尾
keys user:?        查詢所有以user:開頭,最後一個字符任意
keys u[st]er:1     查詢所有以u開頭,以er:1結尾,中間包含一個字母,s或t

key 其他操作

  • 爲key改名
rename key newkey
renamenx key newkey

數據庫通用操作

key 的重複問題:
redis在使用過程中,伴隨着操作數據量的增加,會出現大量的數據以及對應的key
數據不區分種類、類別混雜在一起,極易出現重複或衝突

解決方案

redis爲每個服務提供有16個數據庫,編號從0到15,每個數據庫之間的數據相互獨立

養成合理的命名規範

db 基本操作

  • 切換數據庫
select index
  • 其他操作
dbsize  查看當前庫中有多少key
quit  退出
ping  客戶端與服務端是否連接
echo message
  • 數據移動
將數據移動到指定數據庫, 前提:db中沒有這個key
move key db
  • 數據清除
flushdb  清空當前庫
flushall  清空所有庫

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章