1. Hash1.1 设置和获取值:hset 、hget 1.2 设置和获取多个字段:hmset 、hmget 1.3 获取全部的数据:hgetall 1.4 删除指定的字段:hdel 1.5 获取hash表的数量:hlen 1.6 判断字段是否存在:HEXISTS 1.7 只获取field、value:HKEYS 、HVALS 1.8 指定增减量:HINCRBY 1.9 不存在设置:hsetnx 总结
1. Hash
Map集合,key-map时候这个值是一个map几何。本质和string类型没有太大区别。
1.1 设置和获取值:hset 、hget
127.0.0.1:6379> hset myhash field1 henggao (integer) 1 127.0.0.1:6379> hget myhash field1 "henggao"
1.2 设置和获取多个字段:hmset 、hmget
127.0.0.1:6379> hmset myhash field1 hello field2 world OK 127.0.0.1:6379> hmget myhash field1 field2 1) "hello" 2) "world"
1.3 获取全部的数据:hgetall
127.0.0.1:6379> hgetall myhash 1) "field1" 2) "hello" 3) "field2" 4) "world"
1.4 删除指定的字段:hdel
# 删除指定的字段,对应的value值也就删除了 127.0.0.1:6379> hdel myhash field1 (integer) 1 127.0.0.1:6379> hgetall myhash 1) "field2" 2) "world"
1.5 获取hash表的数量:hlen
127.0.0.1:6379> hlen myhash (integer) 2
1.6 判断字段是否存在:HEXISTS
127.0.0.1:6379> HEXISTS myhash field1 (integer) 1
1.7 只获取field、value:HKEYS 、HVALS
127.0.0.1:6379> HKEYS myhash 1) "field2" 2) "field1" 127.0.0.1:6379> HVALS myhash 1) "world" 2) "hello"
1.8 指定增减量:HINCRBY
127.0.0.1:6379> hset myhash field3 3 (integer) 1 127.0.0.1:6379> HINCRBY myhash field3 2 (integer) 5 127.0.0.1:6379> HINCRBY myhash field3 -1 (integer) 4
1.9 不存在设置:hsetnx
# 如果不存在可以设置 127.0.0.1:6379> hsetnx myhash field4 hello (integer) 1 # 如果存在不可以设置 127.0.0.1:6379> hsetnx myhash field4 world (integer) 0
总结
Hash适合于对象存储,String适合字符串存储。