redis: Hash集合类型(六)
存值:hset myhash name applesnt
取值:hget myhash name
批量存值:hmset myhash name lisi address bj age 12
批量取值:hmget name lisi bj
获取所有键值对:hgetall myhash
127.0.0.1:6379> hset myhash name applesnt #存值
(integer) 1
127.0.0.1:6379> hget myhash name #取值
"applesnt"
127.0.0.1:6379> hmset myhash name lisi address bj age 12 #批量存值
OK
127.0.0.1:6379> hmget myhash name address age #批量取值
1) "lisi"
2) "bj"
3) "12"
127.0.0.1:6379> hgetall myhash #获取键值对
1) "name"
2) "lisi"
3) "address"
4) "bj"
5) "age"
6) "12"
删除指定字段:hdel myhash age address
127.0.0.1:6379> hgetall myhash
1) "name"
2) "lisi"
3) "address"
4) "bj"
5) "age"
6) "12"
127.0.0.1:6379> hdel myhash age address #把age和address删除
(integer) 2
127.0.0.1:6379> hgetall myhash
1) "name"
2) "lisi"
获取Hash中有几个键值对:hlen myhash
127.0.0.1:6379> hgetall myhash
1) "name"
2) "lisi"
127.0.0.1:6379> hlen myhash
(integer) 1
判断Hash中的键是否存在:hexists myhash address
127.0.0.1:6379> hexists myhash address #存在
(integer) 1
127.0.0.1:6379> hexists myhash email #不存在
(integer) 0
获取Hash中所有的key:hkeys myhash
获取Hash中所有的value:hvals myhash
127.0.0.1:6379> hkeys myhash #获取myhash所有的key
1) "name"
2) "age"
3) "address"
127.0.0.1:6379> hvals myhash #获取myhash所有的value
1) "lisi"
2) "33"
3) "bj"
存值(自判断,有则赋值失败,无这创建):hsetnx user name haha
127.0.0.1:6379> hmget user name address
1) "king"
2) "beijing"
127.0.0.1:6379> hsetnx user name haha #name存在 创建失败
(integer) 0
127.0.0.1:6379> hsetnx user age 22 #age不存在 创建成功
(integer) 1