redis hash 是一个string类型的field和value的映射表。
它的添加、删除操作都是O(1)(平均),hash特别适合用于存储对象
将一个对象存储在hash类型总会占用更少的内存,并且可以更方便的存取
整个对象。
hset方法:设置hash field为指定值,如果key不存在,则先创建
127.0.0.1:6379> hset user:001 name xiaoming
(integer) 1
127.0.0.1:6379> hget user:001 name
"xiaoming"
hsetnx方法:设置hash field为指定值,如果key不存在,则先创建。
如果存在返回0.
127.0.0.1:6379> HSETNX user:001 name xiaohong
(integer) 0
hmset方法:批量设置hash field
127.0.01:6379> get user:002 name
(error) ERR wrong number of arguments for 'get' command
127.0.01:6379> hget user:002 name
"xiaoming"
127.0.01:6379> hget user:002 age
"10"
127.0.01:6379> hget user:002 gender
"1"
hget方法:获取hash指定的filed的值
hmget方法:批量获取hash指定的filed值
127.0.01:6379> HMGET user:002 name age gender
1) "xiaoming"
2) "10"
3) "1"
hincrby方法:指定的hash field加上指定的值
127.0.01:6379> hincrby user:002 age 8
(integer) 18
127.0.01:6379> HMGET user:002 name age gender
1) "xiaoming"
2) "18"
3) "1"
hexists方法:测试指定的field是否存在,存在返回1
127.0.01:6379> HEXISTS user:002 name
(integer) 1
hlen方法:返回指定hash 的键数
127.0.01:6379> hlen user:002
(integer) 3
hdel方法:删除指定的hash的filed
127.0.01:6379> HDEL user:002 age
(integer) 1
127.0.01:6379> hget user:002 age
(nil)
hkeys方法:返回hash的所有field
127.0.01:6379> hkeys user:002
1) "name"
2) "gender"
hvals方法:返回hash的所有的value
127.0.01:6379> HVALS user:002
1) "xiaoming"
2) "1"
hgetall方法:返回所有字段和其对应值
127.0.01:6379> hgetall user:002
1) "name"
2) "xiaoming"
3) "gender"
4) "1"