本文版權歸博客園和作者個人所有,轉載和爬蟲請註明原文地址 :博客園蝸牛NoSql系列地址 http://www.cnblogs.com/tdws/tag/NoSql/ Redis命令拾遺之散列類型 Redis散列類型,Hash,適合存儲對象。上一篇文章字元串類型提到字元串不適合一段整體的數據,而不是 ...
本文版權歸博客園和作者個人所有,轉載和爬蟲請註明原文地址 :博客園蝸牛NoSql系列地址 http://www.cnblogs.com/tdws/tag/NoSql/
Redis命令拾遺之散列類型Redis散列類型,Hash,適合存儲對象。上一篇文章字元串類型提到字元串不適合一段整體的數據,而不是適合存儲存在很多屬性的對象。比如文章。那麼今天介紹的Hash就是解決這個問題的類型。它包括鍵名,每個鍵下可以有多個(欄位)field,你也可以理解field為面向對象中的對象屬性。
舉個例子:文章:0001 標題:文章一 作者:吳雙 時間:2016。這樣的數據,在字元串類型中,你可能需要存儲三個鍵。然而在Hash中你可以這樣做,請看下文。
1.HSET key field val設置鍵的單個欄位值
2.HMSET key field key field...... 同時設置單個Key的多個欄位值,也就是說文章0002,它的標題是ArticalTwo,作者是WS,時間是2016.8.16
3.HGET key field,獲取單個Key的單個欄位(field)
4.HMGET key field field.....,獲取單個Key的多個欄位
5.HGETALL Key,獲取鍵的所有欄位和其對應的值,返回結果是 field key field key......
6.HEXISTS Key Field,判斷Key的某個field是否存在
7.HSETNX Key Field Val 對指定的鍵的欄位進行操作,如果該field存在,不做任何操作,如果不存在,則創建field並且賦值。此命令為原子操作,不會發生多線程競態。
8.HINCRBY Key field CommentCount incement 向指定鍵的欄位,增加指定值
9.HDEL Key field field..... 刪除指定Key的fields
10.HKEYS key ,獲取指定key下的所有欄位名稱,我們也可以看到,剛纔經過刪除的結果。
11.HVALS Key , 獲取指定key下的所有欄位值
12.HLEN Key , 獲取指定Key的欄位數量
另外Redis命令不區分大小,key區分大小寫。散列中存儲的也只能是字元串數據類型,而不能散列中加散列或者其他類型。從某種角度來看,散列就是不同的組織字元串類型鍵值的一種形式。一個散列最多包含二的三十一次方減一個欄位。
散列