您现在的位置是:主页 > 数据库技术 > 数据库技术

redis中的hash数据类型怎么用

IDCBT2021-12-31服务器技术人已围观

简介这篇文章主要介绍redis中的hash数据类型怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1. hash类型数据概述 我们先来看这个例子 在上一节我们一起

这篇文章主要介绍redis中的hash数据类型怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1. hash类型数据概述

我们先来看这个例子

在上一节我们一起了解了 string 存储类型。但是如果是对象数据的存储具有较频繁的更新需求,操作会显得笨重。例如:user:id:100 -> {"id":100,"name":"春晚","fans":12355,"blogs":99,"focus:83},如果需要更新一个对象中的局部数据,就需要替换掉所有数据,于是有了以下的需求。

新的需求:对一系列存储的数据进行编组,方便管理,比如存储一个对象的信息需要的存储结构:一个存储空间保存多个键值对数据

如下图:

为了解决这个问题,我们引入新的数据类型:hash。同时 hash 存储结构也做了以下优化

    如果 field 数量较小,存储结构优化为类数组结构

    如果 field 数量较多,存储结构使用 HashMap 结构

    2. hash 类型数据的基本操作

      修改/添加数据

      hset key field value

        查询单个字段/查询所有字段

        # 查询单个字段数据
        hget key field
        # 查询所有数据
        hgetall key

          删除操作

          hdel key field1 [field2]

            修改/添加多个数据

            hmset key field1 value1 field2 value2

              返回 hash 表中,一个或多个给定字段的值

              hmget key field1 field2

                获取 hash 表中字段的数量

                hlen key

                  获取 hash 表中是否存在指定的字段

                  hexists key field

                  3. hash 类型数据的扩展操作

                    获取 hash 表中所有字段名或字段值

                    hkey key
                    hvals key

                      设置指定字符段的数值数据增加指定范围的值

                      hincrby key field increment
                      hincrbyfloat key field increment

                      hash 类型数据操作注意事项

                        hash 类型下的 value 只能存储字符串,不允许存储其他数据类型,不存在嵌套对象。如果数据未获取到,对应的结果为(nil);

                        标签:

                        很赞哦! ()

本栏推荐