第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>:
结果: