Redis基本类型之Hash类型


Redis基本类型之Hash类型

一、简介

  • Hash类型,也叫散列,其value是一个无序字典,类似于Java中的HashMap结构
  • String结构是将对象序列化为JSON字符串后存储,当需要修改对象某个字段时很不方便
    在这里插入图片描述
  • Hash结构可以将对象的每个字段独立存储,可以针对单个字段做CRUD
    在这里插入图片描述

二、Hash类型的常见命令

命令作用
hset添加或者修改hash类型key的field
hget获取一个hash类型key的field的值
hmset批量添加多个hash类型key的field的值
hmget批量获取多个hash类型的key的field的值
hgetall获取一个hash类型的key中的所有的field和value
hkeys获取一个hash类型的key中的所有的field
hvals获取一个hash类型的key中的所有的value
hincrby让一个hash类型key的字段值自增并指定步长
hsetnx添加一个hash类型的key的field值,前提是这个field不存在,否则不执行

三、操作案例

1、hset(设置)

  • hset:添加或者修改hash类型key的field
# 添加
192.168.246.128:6379> HSET sgz:user:3 name LiLi
(integer) 1
192.168.246.128:6379> HSET sgz:user:3 age 21
(integer) 1

在这里插入图片描述

# 修改
192.168.246.128:6379> hset sgz:user:3 age 29
(integer) 0

在这里插入图片描述

2、hget(获取)

  • hget:获取一个hash类型key的field的值
192.168.246.128:6379> HGET sgz:user:3 name
"LiLi"
192.168.246.128:6379> HGET sgz:user:3 age
"29"

3、hmset(批量设置)

  • hmset:批量添加多个hash类型key的field的值
192.168.246.128:6379> HMSET sgz:user:4 name LiYun
OK
192.168.246.128:6379> HMSET sgz:user:4 name LiYun age 20 sex woman
OK

在这里插入图片描述

4、hmget(批量获取)

  • hmget:批量获取多个hash类型的key的field的值
192.168.246.128:6379> HMGET sgz:user:4 name age sex
1) "LiYun"
2) "20"
3) "woman"

5、hgetall(获取全部)

  • hgetall:获取一个hash类型的key中的所有的field和value
192.168.246.128:6379> HGETALL sgz:user:4
1) "name"
2) "LiYun"
3) "age"
4) "20"
5) "sex"
6) "woman"

6、hkeys(获取field)

  • hkeys:获取一个hash类型的key中的所有的field
192.168.246.128:6379> HKEYS sgz:user:4
1) "name"
2) "age"
3) "sex"

7、hvals(获取value)

  • hvals:获取一个hash类型的key中的所有的value
192.168.246.128:6379> HVALS sgz:user:4
1) "LiYun"
2) "20"
3) "woman"

8、incrby(自增)

  • hincrby:让一个hash类型key的字段值自增并指定步长
192.168.246.128:6379> HINCRBY sgz:user:4 age 2
(integer) 22
192.168.246.128:6379> HINCRBY sgz:user:4 age -22
(integer) 0
192.168.246.128:6379> HINCRBY sgz:user:4 age 20
(integer) 20

9、hsetnx(创建键值对)

  • hsetnx:添加一个hash类型的key的field值,前提是这个field不存在,否则不执行,0不存在
192.168.246.128:6379> HSETNX sgz:user:4 sex woman
(integer) 0
192.168.246.128:6379> HSETNX sgz:user:3 sex woman
(integer) 1
192.168.246.128:6379> HGETALL sgz:user:3
1) "name"
2) "LiLi"
3) "age"
4) "29"
5) "sex"
6) "woman"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值