• 带你玩转Redis Hash数据类型


    🎨 个人介绍

    👉大家好,我是:知识的搬运工旺仔

    👉认真分享技术,记录学习过程的点滴,如果我的分享能为你带来帮助,请支持我奥🍻

    👉你的支持,是我每天更新的动力。

    👉赞点:👍 留言:✍ 收藏:⭐

    👉个人格言:想法一步一步的落实,才是你我前进最佳选择。

    1. Hash 数据类型简介

    1. 一个String 类型的 域 (field)和 值(value)的映射表
    2. 这里的 field 和 value 你可以看作String 数据类型里边的value,我想表达的意思是field 不是key
    3. 每个哈希表可以存储2^32-1 个键值对,差不多40多亿数据
    4. value一般用户存储Java的JOSN序列化对象

    2. 设置哈希表域的值

    HSET key field value

    :::success
    HSET 命令:为哈希表的域设置值

    1. 将key 中的field 的值设置为value
    2. key不存在,将会床架一个hash表进行操作
    3. key 和 field 存在,将覆盖原来的值
      :::

    HSETNX key field value

    :::success
    2.HSETNX命令:为哈希表不存在的域设值

    1. field 不存在时,将哈希表key 中的field 的值设置为value
    2. field 存在,命令将无效执行
    3. key存在,先创建key 在执行 HSETNX命令
      :::

    HMSET key field value [field value…]

    :::success
    HMSET 命令:设置多个域和值到哈希表中

    1. 将多个 feild value 设置到key中
    2. 会覆盖哈希表key 中所有原有的field
    3. key存在,先创建key 在执行 HMSET命令
      :::

    3. 获取哈希表中的域和值

    HEGT key field

    :::success
    HGET 命令:获取哈希表中的域的值

    1. 获取 key中field 中的值
      :::

    HGETALL key

    :::success
    HGETALL 命令:获取哈希表中所有的域和值

    1. 返回的长度是哈希表长度的2倍
    2. key 不存在,返回空列表
      :::

    HMGET key field value [field value…]

    :::success
    HMGET 命令:获取多个域的值

    1. 获取key中多个field的值
    2. key中field不存在,返回nil
    3. key 不存在,也会返回nil
      :::

    :::danger
    HKEYS key
    :::
    :::success
    HKEYS 命令:获取哈希表中的所有域

    1. 获取key 中所有的 field
    2. key不存在,返回空表
      :::

    HVALS key

    :::success
    HVALS 命令:获取哈希表中所有的域的值

    1. 返回key 中 field 中的所有值
    2. key不存在,返回空表
      :::

    4 哈希表统计

    HLEN key

    :::success
    HLEN 命令:统计哈希表中的域的数量

    1. 返回的是一个数值
    2. key 不村子啊,返回 0
      :::

    HSTRLEN key field

    :::success
    HSTRLEN 命令:统计哈希表中字符串长度

    1. 统计key中field中的字符串长度
    2. key中field 不存在,返回 0
      :::

    5. 哈希表中的域加上增量值

    HINCRBY key field increment

    :::success
    HINCRBY 命令:为哈希表中的域加上增量值

    1. 当加上的值为负数时,就是减法操作
    2. key不存在,会先创建key,然后执行命令
    3. field 不存在,先初始化value 的值为0,然后再执行操作
    4. field的值不是数值,将会报错
    5. HINCRBY命令操作的值被限制再64位
      :::

    HINCRBYFLOAT key field increment

    :::success
    HINCRBYFLOAT 命令:为哈希表中的域加上浮点数增量值

    1. 为key 中field 的值 加上 浮点数增量值 increment
    2. key不存在,会先创建key,然后执行命令
    3. field 不存在,先初始化value 的值为0,然后再执行操作
    4. 在Redis 中,数字和浮点数都以字符串形式进行保存
    5. field 不是字符串,将会报错
    6. increment 不是双精度浮点数时,会报错
      :::

    6. 删除哈希表中的域

    HDEL key field [field…]

    :::success
    HDEL 命令:删除哈希表中的多个域

    1. 它会忽略不存在的field 进行删除,也就是说:多个field中可能有不存在的field ,也会删除成功
    2. 返回删除field 的数量
      :::

    HEXISTS key field

    :::success
    HEXISTS 命令:判断哈希表中的域是否存在

    1. field 存在,返回1
    2. key 和 field 不存在,返回 0
      :::

    🎈看完了不妨给我点个赞吧,👉你的支持,是我每天更新的动力…

  • 相关阅读:
    javaBS景区票务管理系统设计与实现计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
    Revel管理后台
    10 Dubbo 配置实战
    CodeGeeX:一款强大的 Copilot 之外可以免费使用的 AI 代码生成工具
    Element常用api webview
    开源数据库MySQL 8.0 OCP认证精讲视频、环境和题库 之三 选项、变量
    rabbitmq 日志清理 rabbitmq.conf rabbitmq 日志问题
    策略模式——设计模式
    现在大一,请问前端还值得学习吗
    学习记录682@查准率与查全率真的必然负相关吗?
  • 原文地址:https://blog.csdn.net/weixin_46213083/article/details/126311139