您的当前位置:首页正文

四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)

2025-01-29 来源:个人技术集锦

四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)

@


hash哈希表 :一句话: Redis hash 是一个键值对集合,hash 适合用于存储对象, 类似 Java 里面的 Map<String,Object>

Redis hash 存储结构简单示意图:

这里我们介绍一些 hash 哈希表比较常用的一些命令,然后,举一反三,根据文档也可以对其它的命令上手学习使用了

2.hash 哈希表常用指令(详细讲解说明)

2.1 hset <key><field><value><key>集合中的 <field>键赋值 <value>

127.0.0.1:6379> hset monster_100 id "100" name "jack"

注意: 也可以使用该指令,在已存在的哈希表当中添加新的,键值对

127.0.0.1:6379> hset monster_100 age "18"

2.2 hget <key1><field><key1>集合<field>取出 value

127.0.0.1:6379> hget monster_100 name
"jack"
127.0.0.1:6379> hget monster_100 id
"100"

2.3 hmset <key1><field1><value1><field2><value2>... 批量设置 hash 的值

和 hset 是一样的。

127.0.0.1:6379> hmset monster_200 id "200" name "lihua"

2.4 hmget <key1><field1> <field2>... 批量取出 hash 的 filed 值

127.0.0.1:6379> hmget monster_100 "id" "name"

2.5 hexists<key1><field> 查看哈希表 key 中,给定域 field 是否存在

127.0.0.1:6379> hexists monster_100 "id"

2.6 hkeys <key> 列出该 hash 集合的所有 field

127.0.0.1:6379> hkeys monster_100

2.7 hvals <key> 列出该 hash 集合的所有 value

127.0.0.1:6379> hvals monster_100

注意: 如果指定的 哈希表不存在,则返回:empty array

2.8 hincrby <key><field><increment>为哈希表 key 中的域 field 的值加上增量 1 -1

127.0.0.1:6379> hincrby monster_100 age 1
(integer) 19
127.0.0.1:6379> hget monster_100 age
"19"
127.0.0.1:6379> hincrby monster_100 age 10
(integer) 29
127.0.0.1:6379> hget monster_100 age
"29"
127.0.0.1:6379> 

注意:只有"数字字符串" 才可以运算 + 1

2.9 hsetnx <key><field><value>将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在时,还会成功

127.0.0.1:6379> hsetnx monster_100 sex f

注意: 如果给定域已经存在于哈希表当中, 那么命令将放弃执行设置操作。

3. 最后:

“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”

显示全文