Redis 哈希(Hash)
Redis Hash 是一个 String 类型的 field(域)和 value(值)的映射表,Hash 特别适合存储对象。Redis 中每个 Hash 可以存储 2^32-1 个键值对。我们已经知道,Redis 中存储的都是 key-value 结构的数据,那么 Hash 类型的数据存储结构就应该是如下图所示:field 和 value 共同组成了 key 所对应的 value。Redis H
·
Redis Hash 是一个 String 类型的 field(域)和 value(值)的映射表,Hash 特别适合存储对象。Redis 中每个 Hash 可以存储 2^32-1 个键值对。
我们已经知道,Redis 中存储的都是 key-value 结构的数据,那么 Hash 类型的数据存储结构就应该是如下图所示:
field 和 value 共同组成了 key 所对应的 value。
Redis Hash 基本命令如下:
命令 | 说明 | 返回值 | 示例 |
---|---|---|---|
HMSET key field1 value1 [field2 value2 ...] | 用于同时将多个 field-value 对设置到哈希表中,此命令会覆盖哈希表中已存在的 key 值,如果 key 值不存在,会先创建,之后再执行 HMSET 操作 | 成功返回 OK | ![]() |
HSET key field value | 用于为哈希表中的单个 field-value 设置值,如果 key 值不存在,会先创建,如果该 field 域已存在,则将覆盖旧值 | 如果 field 是新创建的,返回 1, 如果 field 已存在, 返回 0 | ![]() |
HSETNX key field value | 用于为哈希表中不存在的 field 赋值,如果该 field 已存在,则操作无效,如果 key 不存在,则创建并执行 | 成功,返回1,如果 field 已经存在且没有操作被执行,返回0 | ![]() |
HEXISTS key field | 用于查看哈希表的指定域是否存在 | 如果有指定域,则返回1,如果没有该域,或者 key 不存在,则返回0 | ![]() |
HGET key field | 用于获取哈希表中指定域的值 | 返回指定字段的值,如果指定的字段或者 key 不存在时,返回 nil | ![]() |
HGETALL key | 用于返回哈希表中所有的字段和值 | 以列表形式返回哈希表中的字段以及字段值,如果 key 不存在,则返回空列表 | ![]() |
HMGET key field1 [field2 ...] | 用于返回哈希表中一个或多个指定字段对应的值,如果指定的字段不存在于哈希表中,则返回 nil | 一个包含多个指定字段关联值的表,表值的排列顺序和指定字段的请求顺序一样 | ![]() |
HKEYS key | 用于获取哈希表中的所有的域(field) | 包含哈希表中所有域的列表,如果 key 不存在,则返回一个空列表 | ![]() |
HVALS key | 获取哈希表中所有的值,即所有的 field 对应的 value | 包含哈希表中所有值的列表,如果 key 不存在,则返回一个空列表 | ![]() |
HLEN key | 获取哈希表中字段(field)的数量 | 返回哈希表中字段的数量,当 key 不存在时,返回0 | ![]() |
HINCRBY key field increment | 用于为哈希表中的字段加上指定增量值,增量值也可为负。如果指定的字段不存在,会先初始化为0,如果该字段对应的 value 值存储的为字符串值,那么该命令会执行出错 | 执行该命令之后,哈希表中字段对应的值 | ![]() |
HINCRBYFLOAT key field increment | 用于为哈希表中的字段加上指定的浮点数增量值,增量值也可为负。如果指定的字段不存在,会先初始化为0,如果该字段对应的 value 值存储的为字符串值,那么该命令会执行出错 | 执行该命令之后,哈希表中字段对应的值 | ![]() |
HSCAN key cursor [MATCH pattern] [COUNT count] | 用于迭代哈希表中的 field-value 对 cursor:游标; pattern:匹配的模式; count:指定从数据里返回的数据量,默认值为 10 | 返回的每个元素都是一个元组,每一个元组元素由一个字段(field)和值(value)组成 | ![]() |
HDEL key field1 [field2 ...] | 用于删除哈希表 key 中的一个或多个字段(field),如果指定的 field 不存在,则忽略 | 返回成功删除字段的数量,不包括被忽略的字段 | ![]() |
以上便是 Redis Hash 常用的命令,后续有用到其他的命令的话,会继续更新的。
点击阅读全文
更多推荐
活动日历
查看更多
直播时间 2025-02-26 16:00:00


直播时间 2025-01-08 16:30:00


直播时间 2024-12-11 16:30:00


直播时间 2024-11-27 16:30:00


直播时间 2024-11-21 16:30:00


所有评论(0)