Redis常用数据类型--Hash

常用命令

HSET

设置 hash 中指定的字段(field)的值(value)

 HSET key field value [field value ...]

时间复杂度:插⼊⼀组 field 为 O(1), 插⼊ N 组 field 为 O(N)

HGET

获取 hash 中指定字段的值

HGET key field

时间复杂度:O(1)

HEXISTS

判断 hash 中是否有指定的字段

HEXISTS key field

时间复杂度:O(1)

HDEL

删除 hash 中指定的字段

HDEL key field [field ...]

时间复杂度:删除⼀个元素为 O(1). 删除 N 个元素为 O(N)

HKEYS/HVALS

获取 key 中所有 fields / values

HKEYS key/HVALS key

时间复杂度:O(N), N 为 field 的个数

HGETALL

获取 key 中的所有字段以及对应的值

 HGETALL key

时间复杂度:O(N), N 为 field 的个数

HMGET

⼀次获取 hash 中多个字段的值

 HMGET key field [field ...]

时间复杂度:只查询⼀个元素为 O(1), 查询多个元素为 O(N), N 为查询元素个数

HLEN

获取 hash 中的所有字段的个数

HLEN key

时间复杂度:O(1)

HSETNX

在字段不存在的情况下,设置 hash 中的字段和值

HSETNX key field value

时间复杂度:O(1)

HINCRBY/HINCRBYFLOAT

将 hash 中字段对应的数值添加指定的整数/浮点数

HINCRBY key field increment/ HINCRBYFLOAT key field increment

时间复杂度:O(1)

内部编码

哈希的内部编码有两种:

  • ziplist(压缩列表):当哈希类型元素个数⼩于 hash-max-ziplist-entries 配置(默认 512 个)、 同时所有值都⼩于 hash-max-ziplist-value 配置(默认 64 字节)时,Redis 会使⽤ ziplist 作为哈 希的内部实现,ziplist 使⽤更加紧凑的结构实现多个元素的连续存储,所以在节省内存⽅⾯⽐ hashtable 更加优秀。
  • hashtable(哈希表):当哈希类型⽆法满⾜ ziplist 的条件时,Redis 会使⽤ hashtable 作为哈希 的内部实现,因为此时 ziplist 的读写效率会下降,⽽ hashtable 的读写时间复杂度为 O(1)。

典型应用场景

映射关系表⽰⽤⼾信息

相关推荐

  1. Redis数据类型--Hash

    2024-02-03 04:58:01       31 阅读
  2. Redis数据类型--List

    2024-02-03 04:58:01       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-03 04:58:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-03 04:58:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-03 04:58:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-03 04:58:01       20 阅读

热门阅读

  1. LeetCode //C - 2542. Maximum Subsequence Score

    2024-02-03 04:58:01       30 阅读
  2. Python与Go中详细的异常处理机制|面试题

    2024-02-03 04:58:01       34 阅读
  3. SouthLeetCode-打卡24年01月第5周

    2024-02-03 04:58:01       32 阅读
  4. 软件工程知识梳理0-概述

    2024-02-03 04:58:01       32 阅读
  5. 大模型系列课程学习-prompt指令快速入门

    2024-02-03 04:58:01       34 阅读
  6. Sql Server之更改跟踪功能

    2024-02-03 04:58:01       33 阅读
  7. SQL Server 函数参考手册(SQL Server 日期函数)

    2024-02-03 04:58:01       33 阅读