当前位置: 首页 > news >正文

深入解析:极致性能的服务器Redis之Hash类型及相关指令介绍

深入解析:极致性能的服务器Redis之Hash类型及相关指令介绍

目录

1. Hash介绍

2. hset

3. hget

3. hdel

5. hkeys

6. hvals

​编辑

7. hgetall

 8. hexists

9. hmget

10. hlen

11. hsetnx

12. hincrby

13. hincrbyfloat


1. Hash介绍

Redis 哈希类型是键值对的集合,字段与值均支持字符串、数字等类型,适合建模用户信息、配置项等对象类数据。其支持单字段 / 多字段的增删改查、字段存在性判断、值自增自减等原子操作,且底层通过压缩列表或哈希表优化存储,空间利用率高、查询效率快,是 Redis 中存储结构化数据的核心类型之一。

在Redis中因为本身就是按照哈希的KV结构来进行存储的,所以当我们想要使用Redis里面的哈希的时候,实际上是哈希的哈希,在后者中,则用field来代替原本的Key位置,防止和前面的哈希名字相同,接下来我会介绍哈希在Redis中的使用。

2. hset

这个指令的话就是用来在Redis中创建一个哈希的键值对。

语法:

hset key field value

我们看下面这张图片,在Redis中的key和field的关系就像这样。一个key可以有很多个field,一个field和一个value一一对应。

我们来看下面这张图片,当我们对一个field重新使用hset时,会对它里面的value进行更新。

同时一个key也可以对应多个field。

3. hget

这个的话就是通过key和field来得到对应的value的。

语法:

hset key field value

我们看下面这张图片,hget相当于是通过两个关键字找到的v3。

它是不支持一次访问多个value的。在后面会有一些特定的指令来获取多个value的。

3. hdel

这个指令的话就是用来删除value和field的。

语法:

hdel key field

我们看下面这张图片,这个hdel删除的是field和它对应的value,不会把key给删除了的(在key还有其他对应field的时候)。所以在这张图里面我们去访问对应的f2还是可以成功的。

5. hkeys

这个的话就是用来查找这个key里面所有的field的,它的返回值也是返回这个key对应的全部field。

语法:

hkeys key

我们看下面这张图片,通过hkeys就可以查找这个k1里面使用的field了。

在下图中之所以会失败,是因为hkeys *返回空数组是因为 Redis 里*不是通配符用法,hkeys只能跟具体的键名,不能直接用通配符匹配多个哈希键。

6. hvals

这个指令的话和上面那个指令很像,只不过上面那个是返回对应的field,这个指令是返回这个key里面使用的value。

语法:

hvals key

我们看下面这张图片,通过hvals就可以拿到k1里面所有的value了。

7. hgetall

这个的话就像是上面两个指令的结合体,它可以直接获得这个key所对应的所有field和value。

语法:

hgetall key

我们看下面这张图片,通过这样的方式就可以吧直接得到这个k1里面使用的field和value了。

PS:无论是hvals,hkeys或者hgetall,他们其实在很多时候是不被推荐使用的,因为我们并不知道这个key里面到底有多少个哈希键值对,由于Redis是单线程的数据库,如果很多的话会让Redis卡住的。

 8. hexists

这个指令的话就是用来判断某一个value是否存在或者说是判断通过两个关键字是否可以找到值。

语法:

hexists key field

我们看下面的图片,如果这个value存在的话就返回1,不存在就返回0。

9. hmget

这个指令的话可以一次获取多个value的值。

语法:

hmget key field........

我们看下面这张图片,我们可以输入对应的key和field,然后就可以批量的得到对应的value。

10. hlen

这个的话就是返回这个key所对应的field的个数,如果这个key不存在的话那么就返回0.

语法:

hlen key

我们看下面这张图片,这个k1里面有三个哈希键值对,所以我们调用hlen的时候会返回3,而k2不存在,所以在这里会返回0。

11. hsetnx

这个指令的话就是在字段不存在的情况下,设置 hash 中的字段和值。

语法:

hsetnx key field value

我们看下面这张图片 ,在k1里面没有f3的时候我们用hsetnx是可以成功的,而有了之后我们再用hsetnx来插入f3是会失败的。

12. hincrby

这个指令的话就是给field对应的那个value的值进行增加或者减少操作。

语法:

hincrby key field 要加或减的值

我们看下面这张图片,这个指令的话既可以加数字也可以减数字,只要我们在原本的数字前面加一个负号就好。

13. hincrbyfloat

这个指令的话和上面那个很像,不同的地方就是这个是可以给浮点数进行浮点数的加减的。

注意:这个指令不止可以给浮点数用,他也可以给整数用,同时它的值也可以为整数。

语法:

hincrbyfloat key field 要加或减的值

我们看下面这张图片,这个hincrbyfloat即可以给整数加浮点数,也可以给浮点数加整数。

http://www.jsqmd.com/news/386789/

相关文章:

  • 2026年不锈钢转向节锻件/壳体锻件厂家怎么挑 - 品牌宣传支持者
  • 发现了 3 个 OpenClaw 相关开源项目,有点意思啊。
  • 2026年热门的单槽真空清洗机/碳氢真空清洗机全方位厂家推荐参考 - 品牌宣传支持者
  • 2026年口碑好的折叠式料架/周转料架优质厂商精选推荐(口碑) - 品牌宣传支持者
  • 2026年靠谱的网红打卡饭店/景区周边饭店消费反馈推荐 - 品牌宣传支持者
  • 豆包AI广告投放指南 - 品牌2025
  • 2026年评价高的唐山儿童房全屋定制/唐山现代简约全屋定制制造厂家选购指南怎么选(精选) - 品牌宣传支持者
  • 2026年市场上刨削动力厂家哪个好?排名速览,电动骨动力/电动骨刨削动力/内窥镜手术动力,刨削动力厂商推荐 - 品牌推荐师
  • 2026年热门的珍珠棉异型材/覆膜珍珠棉厂家推荐与选择指南 - 品牌宣传支持者
  • 可能性空间视角下的中年困境
  • 2026年质量好的唐山环保板材定制家具/唐山现代简约定制家具怎么选实力工厂参考 - 品牌宣传支持者
  • AI专著生成工具大揭秘:高效产出,为你的学术之路添砖加瓦
  • 学术探险家的“智能罗盘”:书匠策AI如何重塑课程论文写作新次元
  • AI专著写作的宝藏工具,从选题到完稿全方位支持学术创作
  • 学术写作的“智能外骨骼”:书匠策AI如何重塑课程论文创作生态
  • 腾讯面试官:“epoll凭啥碾压select?”,我答完红黑树+事件通知,他点头:“继续说。”,我说:“没了,就这些。。”
  • GitHub Actions深度解析
  • COMSOL搞锂电热管理?相变材料+热电耦合真香
  • 微信团队自助工具使用人工解封/申诉辅助验证过程、帮好友辅助验证(附团队解封教程)
  • 人才盘点落地工具
  • 解锁AI专著生成新方式!精选工具助力,快速产出高质量专著
  • AI专著写作必备:专业工具深度剖析,开启高效专著创作之旅
  • 世毫九实验室 理论体系结构化技术报告V1.0
  • 2026年靠谱的储气罐配件/储气罐定制厂家热销推荐 - 品牌宣传支持者
  • 2026年热门的阳光板温室大棚/无土栽培温室大棚厂家选购完整指南 - 品牌宣传支持者
  • 2026年比较好的重型铠装缝/铠装缝新厂实力推荐(更新) - 品牌宣传支持者
  • 想高效AI写专著?这些实用工具,让专著写作不再是难题
  • 2026年口碑好的无土栽培玻璃温室/阳光玻璃温室厂家采购参考指南 - 品牌宣传支持者
  • AI教材写作新突破!低查重工具一键打造高质量、连贯的教材内容
  • 2026年市面上可靠的陶瓷清洗机源头厂家哪家强,刻蚀机/全自动超声波清洗设备/悬挂式超声波清洗机,陶瓷清洗机制造企业电话 - 品牌推荐师