Redis之Hash类型详解

数据结构

其实 redis的 hash类型就是一个嵌套map的结构, 其实就像一个小号的redis
在这里插入图片描述
可以看作是一张表 user:n 为key, 但是表的列可以不同
在这里插入图片描述

hash的常用命令

  1. hset
    hset key field value
    将哈希表key中的域field的值设为value
    如果key不存在,一个新的哈希表被创建并进行HSET操作
    如果field是哈希表中的一个新建域,并且值设置成功,返回1
    如果域field已经存在于哈希表中,旧值将被覆盖,返回0

  2. hsetnx

    hsetnx key field value

    将哈希表key中的域field的值设置为value,当且仅当域field不存在。

    如果field已经存在,该操作无效,返回0。

    如果key不存在,一个新哈希表被创建并执行HSETNX命令。

  3. hget

    hget key field

    返回哈希表key中给定域field的值

    如果域field存在,给定域的值,当给定域不存在或是给定key不存在时,返回nil

  4. hmset

    hmset key field value [field value …]

    同时将多个field - value(域-值)对设置到哈希表key中

    如果命令执行成功,返回OK。当key不是哈希表(hash)类型时,返回一个错误

  5. hmget

    hmget key field [field …]

    返回哈希表key中,一个或多个给定域的值,顺序和给定域参数的请求顺序一样

  6. hgetall

    hgetall key

    返回哈希表key中,所有的域和值。

    在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍

    若key不存在,返回空列表

  7. hkeys

    hkeys key

    返回哈希表key中的所有域

    当key不存在时,返回一个空表

  8. hvals

    hvals key

    返回哈希表key中的所有值

    当key不存在时,返回一个空表

  9. hdel

    hdel key [key……]

    删除哈希表key中的一个或多个指定域,不存在的域将被忽略

  10. hlen

    hlen key

    返回哈希表key中域的数量

    当key不存在时,返回0

原创文章 280 获赞 464 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_33709508/article/details/105749613
今日推荐