redis的第二种数据类型——hash

前一篇介绍了redis的第一种数据类型string。这一波来介绍一下第二种数据类型hash。

hash类似于程序中的对象,每个对象可以有多个属性。结构如下图:key -> field:value
在这里插入图片描述

hash 的命令都以 h 开头

1.hset key field value

> hset s1 name pygo age 18
(integer) 2

2.hget key field

> hget s1 name
"pygo"
> hget s1 age
"18"
> hget s1 hobby
(nil)

3.增加一个field

> hset s1 hobby girls
(integer) 1
> hget s1 hobby
"girls"

4.删除一个field:hdel key fielde

> hdel s1 hobby
(integer) 1
> hget s1 hobby
(nil)

5.获取全部字段和值:hgetall key

> hgetall s1
1) "name"
2) "pygo"
3) "age"
4) "18"

6.获取全部字段:hkeys key

> hkeys s1
1) "name"
2) "age"

7.获取全部值:hvals key

> hvals s1
1) "pygo"
2) "18"

8.判断field是否存在:hexists key field

hexists s1 name
(integer) 1
> hexists s1 hobby
(integer) 0

9.查看key有几个field:hlen key

> hlen s1
(integer) 2

10.批量获取field:hmget key field1 field2 …

> hmget s1 name age
1) "pygo"
2) "18"

11.批量设置field-value:hmset key field1 value1 field2 value2…

> hlen s1
(integer) 2
> hmset s1 hobby girls address china
OK
> hlen s1
(integer) 4

12.不存在才设置:hsetnx key field value

> hsetnx s1 name tom
(integer) 0
> hsetnx s1 nickname tom
(integer) 1

13.自增操作:hincrby key field increment

> hincrby s1 age 2
(integer) 20
注意:有自增 却没有自减操作。如果想要自减,可以用负数
> hincrby s1 age -2
(integer) 18

14.浮点数自增:hincrbyfloat key field increment

> hincrbyfloat s1 age 2.5
"20.5"
> hincrbyfloat s1 age -2.5
"18"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值