1. 程式人生 > >Redis總結(三)——全域性命令

Redis總結(三)——全域性命令

前言:

在對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中資料結構的使用,希望能幫到一些夥伴。