• 90、Redis 的 value 所支持的数据类型(String、List、Set、Zset、Hash)---->Hash 相关命令


    本次讲解要点:
    Hash 相关命令:是指value中的数据类型

    启动redis服务器:
    打开小黑窗:
    C:\Users\JH>e:
    E:>cd E:\install\Redis6.0\Redis-x64-6.0.14\bin
    E:\install\Redis6.0\Redis-x64-6.0.14\bin>redis-server.exe redis.windows.conf
    dir 查看该文件夹里面的所有文件
    启动redis客户端:
    小黑窗:redis-cli

    ★ Redis的数据类型(都是针对Redis的value而言)

    redis和map差不多。
    Map 只能保存在内存中,
    redis可以保存在磁盘。

    Redis的key都是String

    ▲ value支持如下5种数据类型:

    String: 最基本的数据类型,可保存任何的数据。
    List: 元素是String的有序集合,集合内的元素可以重复。
    Set: 元素是String的无序集合,集合内的数据不能重复。
    Zset: 元素是String的有序集合,集合内的数据不能重复。
    Hash: 也是key-value集合(类似Java的Map),key和value都是String类型的数据。这种类型主要用于保存对象。

    Redis为不同数据类型提供了不同的操作命令,因此特定类型的数据需要使用对应类型的命令来执行操作。

    ★ Hash相关的命令

    Hash类型是一个key和value都是String类型的key-value对。
    (这句话我觉得应该是只有value才是String类型的key(field)-value对,key的话就只是key而已,不是key-value对)
    key是不允许重复的。但value是可以重复的。

    Hash类型适合存储对象。每个Hash最多可存储2^32 - 1个key-value对

    关于命令中的参数的说明,其中key相当于是hash对象的名字,而field才是该hash对象中的key。

    field 就是 value 里面的 键值对里面的key

    HDEL key field [field …]: 删除Hash对象中一个或多个key-value对。此处的field参数其实代表Hash对象中的key,后面的field参数皆如此。

    HEXISTS key field: 判断Hash对象指定的key是否存在。

    HGET key field: 获取Hash对象中指定key对应的value。

    HGETALL key: 获取Hash对象中所有key-value对。

    HINCRBY key field increment: 为Hash对象指定的key增加increment。
    它也要要求key指定的hash对象的field所对应value必须能转换成数值。

    HINCRBYFLOAT key field increment: HINCRBY的浮点数版本,支持小数。

    HKEYS key: 获取Hash对象中所有key。

    HLEN key: 获取Hash对象中key-value对的数量。

    HMGET key field [field…]: HGET的加强版,可同时获取多个key对应的value。

    HSET key field value: 为Hash对象设置一组key-value对。如果field对应的key已经存在,
    新设置的value将会覆盖原有的value。

    HMSET key field value [field value …]: HSET的加强版,可同时设置多个key-value对。

    HSETNX key field value: HSET的安全版本,只有当field对应的key不存在时,才能设置成功。
    该方法保证不会发生覆盖。

    HSTRLEN key field: 获取Hash对象指定key对应value的字符串长度。

    HVALS key: 获取Hash对象所有的value。

    HSCAN key cursor [MATCH pattern] [COUNT count]: 遍历Hash对象。此处的count不起作用。

    演示

    HSET key field value: 为Hash对象设置一组key-value对。如果field对应的key已经存在,
    新设置的value将会覆盖原有的value。

    经测试,hset 也可以设置多个 key-value 对
    在这里插入图片描述
    在这里插入图片描述

    HMSET key field value [field value …]: HSET的加强版,可同时设置多个key-value对。
    结合上面的图,可以看到用 hmset 设置多个key-value 对时,如果field对应的key已经存在,
    新设置的value将会覆盖原有的value
    在这里插入图片描述

    field 不能重复,但是 field 对应的 value 可以重复
    在这里插入图片描述
    field重复的话,数据就会进行覆盖
    在这里插入图片描述

    HSETNX key field value: HSET的安全版本,只有当field对应的key不存在时,才能设置成功。
    该方法保证不会发生覆盖。
    在这里插入图片描述

    HGET key field: 获取Hash对象中指定key对应的value。
    关于命令中的参数的说明,其中key相当于是hash对象的名字,而field才是该hash对象中的key。
    在这里插入图片描述

    在这里插入图片描述

    HMGET key field [field…]: HGET的加强版,可同时获取多个key(指的是field)对应的value。
    在这里插入图片描述
    hget 就不行,不能获取多个field的value
    在这里插入图片描述

    HGETALL key: 获取Hash对象中所有key-value对。
    这个就是通过key获取value了,而不是通过field获取value
    在这里插入图片描述

    HDEL key field [field …]: 删除Hash对象中一个或多个key-value对。此处的field参数其实代表Hash对象中的key,后面的field参数皆如此。
    在这里插入图片描述

    HEXISTS key field: 判断Hash对象指定的key是否存在。
    在这里插入图片描述

    HINCRBY key field increment: 为Hash对象指定的key增加increment。
    它也要要求key指定的hash对象的field所对应value必须能转换成数值。
    在这里插入图片描述

    HINCRBYFLOAT key field increment: HINCRBY的浮点数版本,支持小数。并会返回增加后的值
    在这里插入图片描述

    HKEYS key: 获取Hash对象中所有key。
    在这里插入图片描述

    HLEN key: 获取Hash对象中key-value对的数量。
    在这里插入图片描述

    HSTRLEN key field: 获取Hash对象指定key对应value的字符串长度。
    在这里插入图片描述

    HVALS key: 获取Hash对象所有的value。
    在这里插入图片描述

    HSCAN key cursor [MATCH pattern] [COUNT count]: 遍历Hash对象。此处的count不起作用。
    在这里插入图片描述

  • 相关阅读:
    Ps:简单快速的主背分离方法
    redis分布式锁的三种实现方式
    Vue项目中强制刷新页面的方法
    Linux学习-60-date、tr命令
    git查询和设置用户名及邮箱
    QT:使用行编辑器、滑动条、滚动条、进度条、定时器
    flutter系列之:flutter中常用的GridView layout详解
    Python下课时间表:
    自动化开发任务:在PHP框架中实现自定义命令
    胡编乱造的自我介绍
  • 原文地址:https://blog.csdn.net/weixin_44411039/article/details/133487480