本实例以Redis 4.0.1 为例,来演示使用Redis命令对数字类型数据的操作。

普通数据类型

INCR 自增处理

对应value的值增加1,如果value不为数据类型,则会抛错。同时如果key不存在,则设置key的起始值,类似set key 1。
注:数字的最大值和最小值不应该超过64位,最小值是 -9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)

1
incr key

2.返回值
返回增长后value的值

3.示例

1
2
3
4
5
6
127.0.0.1:6379> set count 1
OK
127.0.0.1:6379> incr count
(integer) 2
127.0.0.1:6379> get count
"2"

INCRBY 自增指定数据

对应value的值增加increment,如果value不为数据类型,则会抛错。同时如果key不存在,则设置key的起始值,类似set key increment。
注:数字的最大值和最小值不应该超过64位,最小值是 -9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)

1
incrby key increment

2.返回值
返回增长后value的值

3.示例

1
2
3
4
5
6
127.0.0.1:6379> set mycount 10
OK
127.0.0.1:6379> incrby mycount 2
(integer) 12
127.0.0.1:6379> get mycount
"12"

DECR 自减处理

对应value的值减1,如果value不为数据类型,则会抛错。同时如果key不存在,则设置key的起始值,类似set key -1。
注:数字的最大值和最小值不应该超过64位,最小值是 -9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)

1
decr key

2.返回值
返回增长后value的值

3.示例

1
2
3
4
5
6
127.0.0.1:6379> set mycount 12
OK
127.0.0.1:6379> decr mycount
(integer) 11
127.0.0.1:6379> get mycount
"11"

DECRBY 自减指定数据

对应value的值减decrement,如果value不为数据类型,则会抛错。同时如果key不存在,则设置key的起始值,类似set key -decrement。
注:数字的最大值和最小值不应该超过64位,最小值是 -9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)

1
decrby key decrement

2.返回值
返回增长后value的值

3.示例

1
2
3
4
5
6
127.0.0.1:6379> set mycount 12
OK
127.0.0.1:6379> decrby mycount 3
(integer) 9
127.0.0.1:6379> get mycount
"9"

在数据的增加和减少上面,可以使用INCRBY和DECRBY来完成所有的操作,在增加值和减少值上面,值可以为正数也可以为负数。

Hash数据类型

HINCRBY 自增指定数据

对应value的值减increment,如果value不为数据类型,则会抛错。同时如果key不存在,则设置key的起始值,类似hset key field increment。
注:数字的最大值和最小值不应该超过64位,最小值是 -9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)

1
hincrby key field increment

2.返回值
返回增长后value的值

3.示例

1
2
3
4
5
6
127.0.0.1:6379> hset myhash f 10
(integer) 1
127.0.0.1:6379> hincrby myhash f 2
(integer) 12
127.0.0.1:6379> hget myhash f
"12"

浮点数据类型

INCRBYFLOAT 自增指定数据

对应value的值减increment,如果value不为数据类型,则会抛错。同时如果key不存在,则设置key的起始值,类似set key increment increment。

1
incrbyfloat key increment

2.返回值
返回增长后value的值

3.示例

1
2
3
4
5
6
7
8
127.0.0.1:6379> incrbyfloat myfloat 22.122
"22.122"
127.0.0.1:6379> get myfloat
"22.122"
127.0.0.1:6379> incrbyfloat myfloat 33.212
"55.334"
127.0.0.1:6379> get myfloat
"55.334"