HASH(散列):hash是一个Sring类型的field和value的映射表,它的添加删除操作是O(1)(平均)。hash特别适合用于存储对象,相较于对象的每个字段都存成String类型,将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。
应用场景:存储、读取、修改用户属性(name、age等)。
- hset单个字段的设置
127.0.0.1:6379> hset student1 name zhangsan
(integer) 1
127.0.0.1:6379> hset student1 age 26
(integer) 1
127.0.0.1:6379> hget student1 name
"zhangsan"
127.0.0.1:6379> hget student1 age
"26"
- hmset多个字段同时设置
127.0.0.1:6379> hmset student3 name lisa age 88
OK
127.0.0.1:6379> hmget student3 name age
1) "lisa"
2) "88"
127.0.0.1:6379> hgetall student3
1) "name"
2) "lisa"
3) "age"
4) "88"
- hdel删除属性
127.0.0.1:6379> hdel student3 name age
(integer) 2
127.0.0.1:6379> hgetall student3
(empty list or set)
- hincrby增加数字
127.0.0.1:6379> hincrby student1 age 10
(integer) 36
- hexists判断字段是否存在,存在返回1,否则为0
127.0.0.1:6379> hexists student1 age
(integer) 1
127.0.0.1:6379> hexists students ageee
(integer) 0
- hlen获取hash属性个数
127.0.0.1:6379> hlen student1
(integer) 2
127.0.0.1:6379> hlen stusdent3
(integer) 0
- hkeys获取所有属性名称
127.0.0.1:6379> hkeys student1
1) "name"
2) "age"
- hvals获取所有属性值
127.0.0.1:6379> hvals student1
1) "zhangsan"
2) "36"