Redis in .NET Core 入門:(3) Hash

solenovex發表於2019-01-23

第1篇:https://www.cnblogs.com/cgzl/p/10294175.html

第2篇 String:https://www.cnblogs.com/cgzl/p/10297565.html

 

Hash

Redis的Hash有點像一個物件(object),一個Hash裡面可以存多個Key-Value對作為它的field,所以它通常可以用來表示物件。

Hash裡面能存放的值也能作為String型別來儲存,如果Hash裡面值的型別可以解析為數字,那麼也可以進行自增自減等操作。

 

 

主要命令

Hash相關的命令都是以H開頭

 

HSET

HSET 設定Hash裡面的值:

格式為:hset hash-key field1 field1value field2 field2value ... 

注:HMSET的功能和HSET貌似是一樣的。

 

關於Hash的key的更實際用法是這樣:

通常在Hash的Key中使用冒號:,這樣可以做出來類似名稱空間的效果。

user:1000可以表示ID為1000的使用者。

 

HGET

HGET通過Hash裡面的key獲取其對應的值:

 

HGETALL

如果想獲得Hash所有的Key-Value對,那就使用HGETALL

注意其結果是如何顯示的。

 

HMGET

HMSET可以設定Hash裡多個Key的值,而HMGET可以通過Hash的多個Key獲取其對應的值:

但是它不會返回Key。

 

HINCRBY

如果Hash裡某個Field值的型別可以解析成數值,那麼還可以用HINCRBY來做自增:

 

其它命令

其它命令還有HDELHEXISTSHINCRBYFLOATHKEYSHLENHSCANHSETNXHVALS請參照官方文件自行摸索。

 

用.NET Core操練

準備一個C#物件:

 

然後從網上抄襲了一個C#物件和Redis HashEntry[]之間轉換的工具類:

 

HSET,HGETALL

結果:

 

HGET

結果:

 

HMGET

HMGET是使用HashGet的另一個Overload方法:

結果:

 

HINCRBY

結果:

 

HDEL

結果:

 

HSCAN

HSCAN返回的型別是IEnumerable<HashEntry>

結果:

 

相關文章