可以看做Map集合,key-map! 时候这个值是一个map集合!
本质和String类型没有太大区别,还是一个简单的 key-vlaue!
HSET KEY FIELD VALUE [FIELD VALUE......]
HGET KEY FIELD
HMSET KEY FIELD VALUE [FIELD VALUE......]
HMGET KEY FIELD [FIELD......]
HGETALL KEY
- 127.0.0.1:6379> hset myhash field1 kuangshen # set一个具体 key-vlaue
- (integer) 1
- 127.0.0.1:6379> hget myhash field1 # 获取一个字段值
- "kuangshen"
- 127.0.0.1:6379> hmset myhash field1 hello field2 world # set多个 key-vlaue
- OK
- 127.0.0.1:6379> hmget myhash field1 field2 # 获取多个字段值
- 1) "hello"
- 2) "world"
- 127.0.0.1:6379> hgetall myhash # 获取全部的数据,
- 1) "field1"
- 2) "hello"
- 3) "field2"
- 4) "world"
HDEL KEY FIELD [FIELD......]
- 127.0.0.1:6379> HGETALL myHash
- 1) "f1"
- 2) "v1"
- 3) "f2"
- 4) "v2"
- 5) "f3"
- 6) "v3"
- 127.0.0.1:6379> HDEL myHash f2 # 删除hash指定key字段!对应的value值也就消失了!
- (integer) 1
- 127.0.0.1:6379> HGETALL myHash
- 1) "f1"
- 2) "v1"
- 3) "f3"
- 4) "v3"
HLEN KEY
- 127.0.0.1:6379> HGETALL myHash
- 1) "f1"
- 2) "v1"
- 3) "f3"
- 4) "v3"
- 127.0.0.1:6379> HLEN myHash # 获取hash表的字段数量!
- (integer) 2
HEXISTS KEY FIELD
- 127.0.0.1:6379> HGETALL myHash
- 1) "f1"
- 2) "v1"
- 3) "f3"
- 4) "v3"
- 127.0.0.1:6379> HEXISTS myHash f1 # 判断hash中指定字段是否存在!
- (integer) 1
- 127.0.0.1:6379> HEXISTS myHash f6
- (integer) 0
HKEYS KEY
HVALS KEY
- # 只获得所有field
- # 只获得所有value
- 127.0.0.1:6379> HGETALL myHash
- 1) "f1"
- 2) "v1"
- 3) "f3"
- 4) "v3"
- 127.0.0.1:6379> HKEYS myHash # 只获得所有field
- 1) "f1"
- 2) "f3"
- 127.0.0.1:6379> HVALS myHash # 只获得所有value
- 1) "v1"
- 2) "v3"
HINCRBY KEY FIELD INCREMENT(正数)
HINCRBY KEY FIELD INCREMENT(负数)
- # incr decr
- 127.0.0.1:6379> hset myhash field3 5 #指定增量!
- (integer) 1
- 127.0.0.1:6379> HINCRBY myhash field3 1 # 自增
- (integer) 6
- 127.0.0.1:6379> HINCRBY myhash field3 -1 #自减
- (integer) 5
- 127.0.0.1:6379> hsetnx myhash field4 hello # 如果不存在则可以设置 (integer) 1
- 127.0.0.1:6379> hsetnx myhash field4 world # 如果存在则不能设置 (integer) 0
HSETNX KEY FIELD VALUE
- 127.0.0.1:6379> HGETALL myHash
- 1) "f1"
- 2) "v1"
- 3) "f2"
- 4) "v2"
- 5) "f3"
- 6) "v3"
- 127.0.0.1:6379> HSETNX myHash f4 v4 # 如果不存在则可以设置
- (integer) 1
- 127.0.0.1:6379> HGETALL myHash
- 1) "f1"
- 2) "v1"
- 3) "f2"
- 4) "v2"
- 5) "f3"
- 6) "v3"
- 7) "f4"
- 8) "v4"
- 127.0.0.1:6379> HSETNX myHash f1 v99 # 如果存在则不能设置
- (integer) 0
- 127.0.0.1:6379> HSETNX myHash f1 v1
- (integer) 0