Redis總結(三)——全域性命令
阿新 • • 發佈:2019-01-03
前言:
在對Redis進行學習之前,瞭解Redis的一些全域性命令、資料結構、內部編碼、單執行緒命令處理機制還是十分必要的,它是學習redis的基礎,本次總結先從全域性命令入手。
全域性命令:
Redis有5中資料結構,它們是鍵值對中的值,對於鍵來說有一些通用的命令。
1、檢視所有鍵:
keys *
例:
插入3對字串型別的鍵值對
keys * 命令輸出所有鍵:
2、鍵總數
dbsize
例:
插入一個列表型別的鍵值對,其值是多個元素組成
dbsize命令會返回當前資料庫中鍵的總數,當前資料庫有4個鍵,分別是name、age、city、mylist,所有dbsize的結構是4。
dbsize命令在計算鍵總數時不會遍歷所有鍵,而是直接獲取Redis內建的鍵總數變數,所有dbsize命令的時間複雜度是O(1)。而keys命令會遍歷所有鍵,所以它的時間複雜度是O(n),當Redis儲存了大量鍵時,線上環境禁止使用。
3、檢查鍵是否存在
exists key
如果鍵存在則返回1,不存在則返回0
4、刪除鍵
del key [key ...]
del是一個通用命令,無論值是什麼資料結構型別,del命令都可以將其刪除。
例如下面將字串型別的鍵city和列表型別的鍵mylist分別刪除:
返回結果為成功刪除鍵的個數,刪除不存在的鍵返回0。
del命令支援刪除多個鍵:
5、鍵過期
expire key seconds
Redis支援對鍵新增過期時間,當超過過期時間後,會自動刪除鍵。
例:為鍵hello設定10秒過期時間
ttl命令會返回鍵的剩餘過期時間,它有三種返回值:
1)大於等於0的整數:鍵剩餘的過期時間。
2)-1:鍵沒設定過期時間。
3)-2:鍵不存在
通過ttl命令觀察鍵hello的剩餘過期時間:
6、鍵的資料結構型別
type key
例如city是字串型別,返回string。mylist是列表型別,返回list
如果鍵不存在,返回none
總結:
通過redis這幾個全域性命令簡單瞭解5中資料結構的使用,希望能幫到一些夥伴。