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版权协议,转载请附上原文出处链接和本声明。