redis--hash(哈希)---常用命令、场景

1.特点

Map集合,key-map! 这时候这个值是一个map集合! 本质和String类型没有太大区别,还是一个简单的  key-vlaue!

2.常用命令 以 h  开头

   

my-redis:0>hset myhash  field1 hello  ############  hset key  field  value set一个具体 key-vlaue
1

my-redis:0>hget myhash field1   ##################   hget key field 获取一个字段值
hello

my-redis:0>hmset myhash field1  test field2 word     ############  hmset  key .....  多set  field value
OK

my-redis:0>hget myhash field1
test

my-redis:0>hget myhash field2
word


my-redis:0>hmget myhash field1 field2  #######################   hmget key  field....  获取多个字段的值
test
word

my-redis:0>hgetall myhash  ######################  hgetall key  获取 全部数据 键值对
field1
test
field2
word

my-redis:0>hlen myhash   #######################  hlen  获取  获取元素个数
2

my-redis:0>hexists myhash field1   ################   hexists  判断是否存在某个字段
1

my-redis:0>hexists myhash field3
0

my-redis:0>hkeys myhash #####################   hkeys  获取所有的字段
field1
field2

my-redis:0>hvals myhash   ####################  hvals  获取所有的值
test
word

my-redis:0>hset myhash field5 1
1

my-redis:0>hincrby myhash  field5 1  ###############  hincrby  指定递增
2

my-redis:0>hincrby myhash  field5 1
3

my-redis:0>hincrby myhash  field5 1
4

my-redis:0>hsetnx myhash field4 hello    ###################  hsetnx  不存在则 set  ,存在则set 不了 ,应用于分布式锁
1 my-redis:0>hsetnx myhash field4 hello 0

总结:

hash变更的数据 user name age,尤其是是用户信息之类的,经常变动的信息! hash 更适合于对象的
存储,String更加适合字符串存储!