7.Redis 的数据类型之一:Hash (哈希)
Hash 类型
即:Map 集合,储存 field-value 键值对!
Hash 类型常用 redis 命令
#########################################################
# hset key field value 增一个字段和对应的值
# hsetnx key field value 增一个字段(字段不存在时)
#########################################################
# hdel key field 删除一个字段
#########################################################
# hgetall key 查询所有的字段和值
# hkeys key 查询所有的字段
# hvals key 查询所有的值
# hget key field 查询值(根据字段)
##########################################################
# hincrby key field increment 修改(增加)一个字段的值
###########################################################
# hexists key field 判断某个字段是否存在
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> clear
127.0.0.1:6379> hset map field1 zhanglei
(integer) 1
127.0.0.1:6379> hset map field2 19
(integer) 1
127.0.0.1:6379> hkeys map
1) "field1"
2) "field2"
127.0.0.1:6379> hvals map
1) "zhanglei"
2) "19"
127.0.0.1:6379> hget map field1
"zhanglei"
127.0.0.1:6379> hget map field2
"19"
127.0.0.1:6379> hgetall map
1) "field1"
2) "zhanglei"
3) "field2"
4) "19"
127.0.0.1:6379> hlen map
(integer) 2
127.0.0.1:6379> hdel map field2
(integer) 1
127.0.0.1:6379> keys *
1) "map"
127.0.0.1:6379> hkeys map
1) "field1"
127.0.0.1:6379> hvals map
1) "zhanglei"
127.0.0.1:6379> hexists map field1
(integer) 1
127.0.0.1:6379> hexists map field2
(integer) 0
127.0.0.1:6379>
#########################################################
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> clear
127.0.0.1:6379> hsetnx map field1 6
(integer) 1
127.0.0.1:6379> hsetnx map field2 7
(integer) 1
127.0.0.1:6379> hkeys map
1) "field1"
2) "field2"
127.0.0.1:6379> hincrby map field1 3
(integer) 9
127.0.0.1:6379> hget map field1
"9"
127.0.0.1:6379> hkeys map
1) "field1"
2) "field2"
127.0.0.1:6379> hvals map
1) "9"
2) "7"
Hash 类型的使用情景
hash (哈希)更适合对象的存储,String 更加适合存储字符串