Hash(哈希)
127.0.0.1:6379> hset myhash field1 lin #set一个具体的 key-value
(integer) 1
127.0.0.1:6379> hget myhash field1 #获取一个字段值
"lin"
127.0.0.1:6379> hmset myhash field hello field2 world #set多个key-value
OK
127.0.0.1:6379> hmget myhash field field2 #获取多个字段值
1) "hello"
2) "world"
127.0.0.1:6379> hgetall myhash
1) "field1"
2) "lin"
3) "field"
4) "hello"
5) "field2"
6) "world"
127.0.0.1:6379> hdel myhash field1 #删除hash指定key字段
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "field"
2) "hello"
3) "field2"
4) "world"
hlen:获取哈希表字段数量
127.0.0.1:6379> hlen myhash
(integer) 2
hexists:判断hash中指定字段是否存在
127.0.0.1:6379> hexists myhash field
(integer) 1
127.0.0.1:6379> hexists myhash field3
(integer) 0
hkeys:获得所有key
hvals:获得所有value
127.0.0.1:6379> hkeys myhash
1) "field"
2) "field2"
127.0.0.1:6379> hvals myhash
1) "hello"
2) "world"
hincr:指定增量
hsetnx:如果不存在则可以设置,若存在不能设置
127.0.0.1:6379> hset myhash field3 5
(integer) 1
127.0.0.1:6379> hincrby myhash field3 1
(integer) 6
127.0.0.1:6379> hincrby myhash field3 -1
(integer) 5
127.0.0.1:6379> hsetnx myhash field4 hello
(integer) 1
127.0.0.1:6379> hsetnx myhash field4 hell
(integer) 0
hash变更的数据 user name age,尤其是用户信息之类的。hash更适合于对象的存储,string更适合字符串存储