Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

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

solenovex 2019-01-23 08:51:00 阅读数:220 评论数:0 点赞数:0 收藏数:0

第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>

结果:

 

版权声明
本文为[solenovex]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/cgzl/p/10301916.html

编程之旅,人生之路,不止于编程,还有诗和远方。
阅代码原理,看框架知识,学企业实践;
赏诗词,读日记,踏人生之路,观世界之行;

支付宝红包,每日可领