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