























Map<String, Map<Object, Object>>,Hash特别适合用于存储对象。
HSET/HGET,设置和获取hash的键值对
语法:
hset key field value [field value ......] 例:
127.0.0.1:6379> hset user:01 name liming
(integer) 1
hset user:01 id 1 name liming age 30语法:
hget key field [field ......] 例:
127.0.0.1:6379> hget user:01 name
"liming"
127.0.0.1:6379> hget user:01 age
"30"
127.0.0.1:6379> hget user:01 id
"1"
HMSET,一次批量设置hash的多个值
127.0.0.1:6379> HMSET user:02 id 02 name lisi
OK从 Redis 4.0.0 开始,HSET 也支持批量设置,HMSET 被视为已弃用,但仍可使用。
HMGET,一次获取某个hash的多个值
127.0.0.1:6379> hmget user:02 id name
1) "02"
2) "lisi"获取一个hash中的所有键值
127.0.0.1:6379> hgetall user:01
1) "name"
2) "liming"
3) "id"
4) "1"
5) "age"
6) "30"
删除hash中的某个键值对
127.0.0.1:6379> hdel user:01 age
(integer) 1
127.0.0.1:6379> hgetall user:01
1) "name"
2) "liming"
3) "id"
4) "1"
hash中键值对数量
127.0.0.1:6379> hlen user:01
(integer) 2
hash中某个键是否存在
127.0.0.1:6379> HEXISTS user:01 age
(integer) 0
127.0.0.1:6379> HEXISTS user:01 name
(integer) 1
获取一个hash中所有的键/值
127.0.0.1:6379> HKEYS user:01
1) "name"
2) "id"
127.0.0.1:6379> HVALS user:01
1) "liming"
2) "1"
对hash中某个键的值进行自增
127.0.0.1:6379> hmset user:03 age 13
OK
127.0.0.1:6379> hincrby user:03 age 1
(integer) 14
127.0.0.1:6379> hincrby user:03 age 2
(integer) 16
不存在就赋值,如已存在则无效
127.0.0.1:6379> hgetall user:03
1) "age"
2) "16"
127.0.0.1:6379> HSETNX user:03 name liming
(integer) 1
127.0.0.1:6379> HSETNX user:03 age 3
(integer) 0
KV键值对的结构,适合早期的购物车等场景
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。