zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

【地铁上的Redsi与C#】数据类型(六)--Hash类型数据扩展操作

2023-02-25 18:17:24 时间

上篇文章我们讲解了数据类型中的Hash类型的基本操作,那么本篇文章进一步来学习Hash类型。

扩展操作

  1. 在开发中我们会遇到需要获取存储在哈希表中的的所有字段名称或所有字段的值。这时我们就需要用到hkeyskvalues指令,它可以帮助我们获取到指定key的中的全部字段名称和全部字段的值。比如我们要获取user中存储的全部字段的名称,可以这么编写指令hkeys user,获取全部字段的值可以这么编写指令hvalues user
  2. 和string类型一样,hash类型也可以设置指定字段的数值数据增加指定范围的值。使用hincrbyhincrbyfloat就可以实现。hincrby 是增加整数值,hincrbyfloat是增加float类型的值。例如我们要给user中存储的age增加1,那么我们可以这么编写命令hincby user age 1,如果要给user中的height增加3.5,我们可以这么编写命令hincbyfloat user height 3.5

操作注意事项

  1. hash类型下的value只能存储字符串,不允许存储其他类型的数据,不存在嵌套的现象,如果数据未获取到则返回nil;
  2. 每个hash可以存储 2^{2}-1个键值对;
  3. hash类型十分贴近对象的数据存储形式,并且可以灵活添加删除对象属性。但hash并不是为存储大量对象而设计的,不可乱用与滥用,不可将hash作为对象列表使用,在Redis中专门的数据类型来存储列表类数据。
  4. hgetall 在非必要情况下不要使用,因为其操作可以获取全部属性,如果field太多,那么在数据遍历的时候会很慢,造成数据访问瓶颈。

总结

本篇文章讲解了Hash类型的数据扩展操作,内容不多但很重要。