第1篇:http://www.javashuo.com/article/p-vsodremk-dt.htmlhtml
第2篇 String:http://www.javashuo.com/article/p-kjwucdnc-hs.html工具
Redis的Hash有點像一個對象(object),一個Hash裏面能夠存多個Key-Value對做爲它的field,因此它一般能夠用來表示對象。spa
Hash裏面能存放的值也能做爲String類型來存儲,若是Hash裏面值的類型能夠解析爲數字,那麼也能夠進行自增自減等操做。3d
Hash相關的命令都是以H開頭。htm
HSET 設置Hash裏面的值:對象
格式爲:hset hash-key field1 field1value field2 field2value ... blog
注:HMSET的功能和HSET貌似是同樣的。文檔
關於Hash的key的更實際用法是這樣:get
一般在Hash的Key中使用冒號:,這樣能夠作出來相似命名空間的效果。hash
user:1000能夠表示ID爲1000的用戶。
HGET經過Hash裏面的key獲取其對應的值:
若是想得到Hash全部的Key-Value對,那就使用HGETALL:
注意其結果是如何顯示的。
HMSET能夠設置Hash裏多個Key的值,而HMGET能夠經過Hash的多個Key獲取其對應的值:
可是它不會返回Key。
若是Hash裏某個Field值的類型能夠解析成數值,那麼還能夠用HINCRBY來作自增:
其它命令還有HDEL,HEXISTS,HINCRBYFLOAT,HKEYS,HLEN,HSCAN,HSETNX,HVALS請參照官方文檔自行摸索。
準備一個C#對象:
而後從網上抄襲了一個C#對象和Redis HashEntry[]之間轉換的工具類:
結果:
結果:
HMGET是使用HashGet的另外一個Overload方法:
結果:
結果:
結果:
HSCAN返回的類型是IEnumerable<HashEntry>:
結果: