Redis有6大基本类型,分别是字符串(String)、列表(List)、集合(set)、哈希结构(hash)、有序集合(zset)和基数(HyperLogLog)
redis在线体验地址:http://try.redis.io/
哈希(Hash)
介绍:
Redis hash 是一个存储多个键值对的映射表,适用于存储对象的属性,比如存储用户信息、用户Session信息等。在实际项目中使用的频率比较多,之前主要用于存储用户基本信息、用户临时订单信息、产品信息等。
创建缓存
-
创建一个缓存
-
命令格式:
hset key field value
-
🌰
1
2
3
4hset cc name 'cc'
将cc的name属性的值设置为cc
-
-
批量创建缓存
-
命令格式:
hmset key filed value [field value ...]
-
🌰
1
2
3
4hmset cc name 'cc' age 19 avatar 'a.png' status 1
设置cc对象的name、age、avatar、status属性的值
-
-
设置一个key不存在field的value,若field已存在则不设置
-
命令格式:
hsetnx key field value
-
🌰
1
2
3
4hsetnx cc name 'yy'
若对象cc的name属性不存在,则设置cc的name属性值为yy
-
查看缓存
-
查看key下所有属性+值
-
命令格式:
hgetall key
-
🌰
1
2
3
4
5
6
7
8hgetall cc
获取对象cc的所有属性,返回数据格式:
field1
value1
field2
value2
-
-
查看key下所有的值
-
命令格式:
hvals key
-
🌰
1
2
3
4
5hvals cc
返回cc对象的所有属性的值,仅返回值,不返回属性名称
等同于 ”hmget key 所有field“ 命令
-
-
查看key下所有的field名称
-
命令格式:
hkeys key
-
🌰
1
2
3
4hkeys cc
返回对象cc的所有属性名
-
-
查看key的某一field的值
-
命令格式:
hget key field
-
🌰
1
2
3
4hget cc name
返回对象cc的name属性的值,若对象无此属性,则返回nil
-
-
查看key的多个field的值
-
命令格式:
hmget key field [field ...]
-
🌰
1
2
3
4hmget cc name age status
返回对象cc的name、age、status属性
-
-
迭代对象的所有属性(适用于大对象)
-
命令格式:
hscan key course [MATCH pattern] [COUNT num]
-
🌰
1
hscan cc 0 MATCH *e COUNT 1
-
-
查看对象的属性数
-
命令格式:
hlen key
-
🌰
1
2
3
4hlen cc
返回对象cc的属性数量
-
其他命令
-
删除一个/多个属性
-
命令格式:
hdel key field [field ...]
-
🌰
1
2
3
4hdel cc name age
删除对象cc的name、age属性
-
-
查看对象属性是否存在
-
命令格式:
hexists key field
-
🌰
1
2
3
4hexists cc name
对象cc若存在属性name,则返回1,不存在则返回0
-