Hash
key-value键值对
key-map===>此时将value换成了一个map集合
hash的本质与String没有太大的区别
127.0.0.1:6379> hset hash field nihao #set一个具体的key-value
(integer) 1
127.0.0.1:6379> hget hash field
"nihao"
127.0.0.1:6379> hmset myhash field01 nihao filed02 xiexie #set多个key-value
OK
127.0.0.1:6379> hmget myhash field01 filed02 #获取多个字段值
1) "nihao"
2) "xiexie"
127.0.0.1:6379> hgetall myhash #获取全部的数据
1) "field01"
2) "nihao"
3) "filed02"
4) "xiexie"
127.0.0.1:6379>
# hdel 删除hash指定key字段,key对应的value值也同时被删除
127.0.0.1:6379> hdel myhash filed02
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "field01"
2) "nihao"
127.0.0.1:6379>
# hlen 获取hash表的字段数量
127.0.0.1:6379> hgetall myhash
1) "field01"
2) "nihao"
3) "field02"
4) "xiexie"
127.0.0.1:6379> hlen myhash
(integer) 2
# hexists 判断hash中指定字段是否存在
127.0.0.1:6379> hgetall myhash
1) "field01"
2) "nihao"
3) "field02"
4) "xiexie"
127.0.0.1:6379> hexists myhash field01
(integer) 1
127.0.0.1:6379>
127.0.0.1:6379> hkeys myhash #只获取所有的field字段
1) "field01"
2) "field02"
127.0.0.1:6379> hvals myhash #只获取所有的value值
1) "nihao"
2) "xiexie"
127.0.0.1:6379>
127.0.0.1:6379> hset myhash field03 2
(integer) 1
127.0.0.1:6379> hincrby myhash field03 1 #设置自增
(integer) 3
127.0.0.1:6379> hsetnx myhash field04 ceshi #如果不存在则创建
(integer) 1
127.0.0.1:6379> hsetnx myhash field04 ceshi01 #如果存在则不能创建
(integer) 0
hash更适合对象的存储(如:用户信息变更,经常改动的数据等),String更适合字符串的存储。
评论 (0)