- hset 设置hash类型
- hget 获取hash类型
- hmset 批量设置hash类型
- hmget 批量获得hash类型
- hgetall 获取全部的数据
- hdel 删除hash指定key字段,对应的value值也就消失了
- hlen 获取hash表的字段数量
- hexists 判断hash中指定字段是否存在
- hkeys 只获得所有field
- hvals 只获得所有value
- hincrby 指定增量增加
- hsetnx 如果不存在则可以设置,如果存在则不可以设置
hash适合存储变更的数据,尤其是用户信息之类的,经常变动的信息!hash更适合于对象的存储,String更加适合字符串存储。
127.0.0.1:6379> hset myhash field1 zhangsan #set一个具体key-value
(integer) 1
127.0.0.1:6379> hget myhash field1 #获取一个字段值
"zhangsan"
127.0.0.1:6379> hmset myhash field1 hello field2 world #set多个key-value
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"
127.0.0.1:6379> hdel myhash field1 #删除hash指定key字段,对应的value值也就消失了
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"
127.0.0.1:6379> hmset myhash field1 hello field2 world
OK
127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"
3) "field1"
4) "hello"
127.0.0.1:6379> hlen myhash #获取hash表的字段数量
(integer) 2
127.0.0.1:6379> hexists myhash field1 #判断hash中指定字段是否存在
(integer) 1
127.0.0.1:6379> hexists myhash field3
(integer) 0
127.0.0.1:6379> hkeys myhash #只获得所有field
1) "field2"
2) "field1"
127.0.0.1:6379> hvals myhash #只获得所有value
1) "world"
2) "hello"
127.0.0.1:6379> hset myhash field3 5
(integer) 1
127.0.0.1:6379> hget myhash field3
"5"
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