Redis(四)--- Redis的命令參考

MouseDong發表於2019-07-26

1、簡述

 資料型別也稱資料物件,包含字串物件(string)、列表物件(list)、雜湊物件(hash)、集合物件(set)、有序集合物件(zset)。

2、String資料型別命令

string 型別是redis最基礎的資料型別,為簡單key-value結構,並且value不限制型別,可以是數字,字元,圖片等序列化物件,value值最大不可超過512M。

string型別在使用中經常用作分散式session共享,計數器,驗證碼過期,基礎資料的快取等。

在java編碼中使用都是使用封裝好的jar包,如spring redis,jedis等等,當封裝的方法名稱與命令列直接操作大同小異,下面展示命令列使用:

 

 :redis的命令無大小寫區分,但key值嚴格區分大小寫

引數:

    • EX seconds ---- 設定過期時間為秒,例:EX 60
    • PX milliseconds ---- 設定過期時間為毫秒,例:PX 1000
    • NX ---- 只有當key值不存在時才設定
    • XX ---- 只有當key值存在時才設定

 

3、list資料型別命令

list資料型別為key-value鍵值對結構,但是其value值的結構為list,類似java中的佇列;左側為表頭,右側為表尾;結構類似於java的Map<String,List<Object>>

list資料型別可以作為訊息佇列使用,還可以作為排名等的快取,也可以作為快取分頁。 

 4、hash資料型別

hash表資料型別是key-value結構,但是key為String型別,而value的結構則是field-value結構;類似於java中的Map<Sring,Map<Stirng,Object>> 結構。

hash表資料結構中field-value 的最大儲存個數是 232 - 1 個;主要用途是作為key-value物件型別的快取,在value中儲存這個物件,取用時便於還原物件。

 5、set資料型別

set資料型別為無序集合資料型別,且資料不重複;

集合型別經常使用者儲存一些集合型別的資料,如微博的所有粉絲,標籤等資料;結構類似java中的HashSet。

 6、zset資料型別

 zset資料型別為有序集合型別,且集合內元素不重複;

有集合通常被用作排行榜等有時間順序或其他順序的快取集和;類似於java中的hashTable

7、redis 操作相關命令

 redis除了對五大資料型別的操作命令,還有一些系統命令,可以對這個資料庫進行操作,如刪除key,清空資料庫,手動持久化等。

 注:redis內部命令還有很多,有些維護之類的命令再次不做介紹,如果用到,請參考redis官網。

8、總結

Redis的命令大體上可以分為兩種,一種可以稱為資料庫級命令,可以對任何鍵值操作,如:DEL、TYPE等,第7節說到的基本都是;另一種是針對五大資料型別操作的,以上幾節說道的基本都是。

(1)命令型別檢查

命令的執行之前,Reddis會先檢查輸入的key的型別是否正確,才會決定是否執行給定的命令,也就是命令與值型別是否匹配。

(2)多型命令

如前一章說過四種資料物件每種都有兩種編碼方式,但在本章使用的命令確是一個;Redis在執行命令之前,會判斷物件的編碼方式,然後再執行對應的命令,這就是命令的多狀態。

 

參考:

《Redis設計與實現》黃健巨集著,網上對Redis的詳解等  

此部落格為筆者使用redis很久之後,參考網路上各類文章總結性書寫,原創手打,如有錯誤歡迎指正。

相關文章