Hash(哈希)
Map集合,key-map集合 key 。本质和string类型没有太大区别,还是一个key-value
Hset myhash field bowenxu
############################################
127.0.0.1:6379> hset myhash field1 bowenxu #存值
(integer) 1
127.0.0.1:6379> hget myhash field1 #取值
"bowenxu"
############################################
127.0.0.1:6379> hmset myhash filed1 hello field2 world #set多个值
OK
127.0.0.1:6379> hmget myhash filed1 field2 #get多个值
1) "hello"
2) "world"
127.0.0.1:6379> hgetall myhash #获取全部的值
1) "field1"
2) "bowenxu"
3) "filed1"
4) "hello"
5) "field2"
6) "world"
127.0.0.1:6379>
############################################
127.0.0.1:6379> hdel myhash field1 #删除指定值
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "filed1"
2) "hello"
3) "field2"
4) "world"
127.0.0.1:6379>
############################################
127.0.0.1:6379> hlen myhash #获取长度
(integer) 2
############################################
127.0.0.1:6379> hExists myhash filed1 #判断hash中指定key是否存在
(integer) 1
127.0.0.1:6379> hExists myhash filed13
(integer) 0
############################################
获取所有的key hkeys
获取所有的value hvals
127.0.0.1:6379> hkeys myhash
1) "filed1"
2) "field2"
127.0.0.1:6379> hvals myhash
1) "hello"
2) "world"
############################################
incr decr
127.0.0.1:6379> hIncrBy myhash field3 1 #自增
(integer) 6
127.0.0.1:6379> hIncrBy myhash field3 -1 #自减
############################################
如果不存在,则可以设置。如果存在则不可以设置。
127.0.0.1:6379> hsetnx myhash filed4 hello
(integer) 1
127.0.0.1:6379> hsetnx myhash filed4 hello222
(integer) 0
hash应用
变更应用 user,name,age,
hash更适合对象存储。
string 更适合存储字符串