Redis 入门之 基本数据类型hash

散列类型(hash)

hash 字典结构,存储了字段和字段值的映射,但字典值只能是字符串,不支持其他数据类型。

HSET key field value 和 HGET key field

HSET 设置散列,HGET获取hash值

127.0.0.1:6379[2]> hset aa name zhangsan 
(integer) 1
127.0.0.1:6379[2]> hget aa name
"zhangsan"

这个有点像设置对象,aa 是一个对象,name 是对象的一个属性,aa 的name为 zhangsan

HMSET key field value [field value] 和 HMGET key field field
127.0.0.1:6379[2]> HMSET aa age 20 sex 1 
OK
127.0.0.1:6379[2]> hget aa name age sex
(error) ERR wrong number of arguments for 'hget' command
127.0.0.1:6379[2]> hmget aa name age sex
1) "zhangsan"
2) "20"
3) "1"

由上面的测试代码可以看出我们设置了一个对象aa, name、age 和sex
HSET 命令不区分是插入操作还是更新操作,如果是插入操作的话,那么返回值为 1 ,如果是更新操作的话那么返回值 是 0

HGETALL key 获取键值

直接获取一个对象的属性和属性值

127.0.0.1:6379[2]> HGETALL aa
1) "name"
2) "zhangsan"
3) "age"
4) "21"
5) "sex"
6) "1"
HEXISTS key field

判断对象的属性是否存在,存在返回 1 不存在返回 0

127.0.0.1:6379[2]> HEXISTS aa name
(integer) 1
127.0.0.1:6379[2]> HEXISTS aa aa
(integer) 0
HSETNX key field value

HSETNX 首先会判断field是否存在,如果存在不执行任何操作,如果不存在则新增属性和属性值

127.0.0.1:6379[2]> hget aa sex
"1"
127.0.0.1:6379[2]> HSETNX aa sex 2 
(integer) 0
127.0.0.1:6379[2]> hget aa sex
"1"
127.0.0.1:6379[2]> HSETNX aa price shanghai
(integer) 1
127.0.0.1:6379[2]> HGETALL aa
1) "name"
2) "zhangsan"
3) "age"
4) "21"
5) "sex"
6) "1"
7) "price"
8) "shanghai"
HDEL key field

删除对象中的属性,删除成功返回1 ,删除不成功返回 0

127.0.0.1:6379[2]> HDEL aa price
(integer) 1
127.0.0.1:6379[2]> HGETALL aa
1) "name"
2) "zhangsan"
3) "age"
4) "21"
5) "sex"
6) "1"
HKEYS key 只获取字段名 和 HVALS KEY 只获取字段值
127.0.0.1:6379[2]> HKEYS aa
1) "name"
2) "age"
3) "sex"
127.0.0.1:6379[2]> HVALS aa
1) "zhangsan"
2) "21"
3) "1"

HLEN key 获取字段的数量

获取一个对象有多少个属性

127.0.0.1:6379[2]> HLEN aa
(integer) 3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值