Redis存储数据---Hash类型

Redis存储Hash类型的数据,就是Map里存储Map

存储的Map的key为字段名,值为字段值

存储Hash类型的数据

存储数据

       hset   key  字段名  字段值

127.0.0.1:6379[1]> hset user username wlf
(integer) 1

获取数据

       hget   key   字段名

127.0.0.1:6379[1]> hget user username
"wlf"

批量存储和获取

       hmset  key  字段名  字段值   字段名   字段值........

       hmget   key   字段名  字段名  字段名........

127.0.0.1:6379[1]> hmset user age 18 gender male
OK
127.0.0.1:6379[1]> hmget user username age gender
1) "wlf"
2) "18"
3) "male"

获取所有字段名和字段值

       hgetall  key

127.0.0.1:6379[1]> hgetall user
1) "username"
2) "wlf"
3) "age"
4) "18"
5) "gender"
6) "male"
7) "address"
8) "shenzhen"

删除数据

       hdel  key   字段名

127.0.0.1:6379[1]> hdel user address
(integer) 1

如果不存在此字段,则执行操作,如果存在此字段则取消操作

      hsetnx  key  字段名  字段值

127.0.0.1:6379[1]> hsetnx user address shenzhen
(integer) 1
127.0.0.1:6379[1]> hget user address
"shenzhen"
127.0.0.1:6379[1]> hsetnx user address guangzhou
(integer) 0
127.0.0.1:6379[1]> hget user address
"shenzhen"

指定字段增长指定数值

      hincrby  key  字段名  字段值  数值

127.0.0.1:6379[1]> hincrby user age 3
(integer) 21

一个Map中存储多个key

       hmset    Map的名字:Map的key  字段名,字段值

       hmget    Map的名字:Map的key  字段名......

       中间的 绝对不能少

127.0.0.1:6379[1]> hmset company:001  name tx
OK
127.0.0.1:6379[1]> hmset company:002  name wy
OK
127.0.0.1:6379[1]> hmset company:one  name wy
OK
127.0.0.1:6379[1]> hget company:one name
"wy"
127.0.0.1:6379[1]> hmget company:one name
1) "wy"

判断字段是否存在

       hexists  key  字段名

127.0.0.1:6379[1]> hgetall user
1) "username"
2) "wlf"
3) "age"
4) "21"
5) "gender"
6) "male"
127.0.0.1:6379[1]> hexists user age
(integer) 1
127.0.0.1:6379[1]> hexists user address
(integer) 0

只获取字段名或字段值

       hkeys/hvals  key

127.0.0.1:6379[1]> hkeys user
1) "username"
2) "age"
3) "gender"
127.0.0.1:6379[1]> hvals user
1) "wlf"
2) "21"
3) "male"

获取字段数量

       hlen  key

127.0.0.1:6379[1]> hlen user
(integer) 3

 

 

 

 

 

 

 

 


版权声明:本文为weixin_44616792原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。