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

一、簡述

 數據類型也稱數據對象,包含字符串對象(string)、列表對象(list)、哈希對象(hash)、集合對象(set)、有序集合對象(zset)。java

二、String數據類型命令

string 類型是redis最基礎的數據類型,爲簡單key-value結構,而且value不限制類型,能夠是數字,字符,圖片等序列化對象,value值最大不可超過512M。redis

string類型在使用中常常用做分佈式session共享,計數器,驗證碼過時,基礎數據的緩存等。spring

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

 

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

參數:網絡

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

 

三、list數據類型命令

list數據類型爲key-value鍵值對結構,可是其value值的結構爲list,相似java中的隊列;左側爲表頭,右側爲表尾;結構相似於java的Map<String,List<Object>>session

list數據類型能夠做爲消息隊列使用,還能夠做爲排名等的緩存,也能夠做爲緩存分頁。 數據結構

 四、hash數據類型

hash表數據類型是key-value結構,可是key爲String類型,而value的結構則是field-value結構;相似於java中的Map<Sring,Map<Stirng,Object>> 結構。分佈式

hash表數據結構中field-value 的最大存儲個數是 232 - 1 個;主要用途是做爲key-value對象類型的緩存,在value中存儲這個對象,取用時便於還原對象。大數據

 五、set數據類型

set數據類型爲無序集合數據類型,且數據不重複;

集合類型常常用戶存儲一些集合類型的數據,如微博的全部粉絲,標籤等數據;結構相似java中的HashSet。

 六、zset數據類型

 zset數據類型爲有序集合類型,且集合內元素不重複;

有集合一般被用做排行榜等有時間順序或其餘順序的緩存集和;相似於java中的hashTable

七、redis 操做相關命令

 redis除了對五大數據類型的操做命令,還有一些系統命令,能夠對這個數據庫進行操做,如刪除key,清空數據庫,手動持久化等。

 注:redis內部命令還有不少,有些維護之類的命令再次不作介紹,若是用到,請參考redis官網。

八、總結

Redis的命令大致上能夠分爲兩種,一種能夠稱爲數據庫級命令,能夠對任何鍵值操做,如:DEL、TYPE等,第7節說到的基本都是;另外一種是針對五大數據類型操做的,以上幾節說道的基本都是。

(1)命令類型檢查

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

(2)多態命令

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

 

參考:

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

此博客爲筆者使用redis好久以後,參考網絡上各種文章總結性書寫,原創手打,若有錯誤歡迎指正。

相關文章
相關標籤/搜索