Redis数字操作
一 介绍
Redis字符串键是可以存储数字的,并且当存储是数字的时候,Redis有一些命令可以专门处理这种数字的值。
只要存储在字符串键里面的值可以被解释为64位整数,或者标准的64位浮点数,那么用户就可以对这个字符串键执行针对数字值得命令。
下面表格说明了哪些值可以被解释为整数或浮点数,科学计数法不会试图解释,直接当字符串了。

二 增加或减少数字的值
对于一个键是字符串的key,值是数字的,我们可以使用INCRBY命令增加值,或者使用DECRBY命令来减少值。
命令返回操作执行之后,key的当前值,如果key原先不存在,则Redis会生成一个key为键,value为0的键值对,然后再来增加或减少操作。
看看下面这个实战
127.0.0.1:6379> INCRBY num 100
(integer) 100
127.0.0.1:6379> INCRBY num 25
(integer) 125
127.0.0.1:6379> DECRBY 10
(error) ERR wrong number of arguments for 'decrby' command
127.0.0.1:6379> DECRBY num 10
(integer) 115
127.0.0.1:6379> DECRBY num 50
(integer) 65

三 增一和减一
因为针对数字值的增一和减一操作非常常见,所有redis特别为这两个操作创建了INCR命令和DECR命令。
看看下面实战
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> INCR num
(integer) 11
127.0.0.1:6379> DECR num
(integer) 10
针对增一或减一,有以下应用:
我们可以实现网页上面点击次数的记录,也就是计数器。
id生成器:比如每个用户创建新帖子,有新帖子id;或者新用户注册就是新用户id的创建。

四 浮点数操作
1 介绍
针对浮点操作,只有INCRBYFLOAT命令,但是我们可以传入负数达到减的效果。
2 实战
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> INCRBYFLOAT num 3.14
"13.14"
127.0.0.1:6379> INCRBYFLOAT num -2.14
"11"

五 注意事项
即使字符串键存储的是数字值,也可以执行APPEND、STRLEN、STRRANGE和GETRANGE。
当用户针对一个数字值执行这些命令的时候,Redis会先将数字值转化为字符串,然后再执行命令。
看看下面例子
127.0.0.1:6379> set num 123
OK
127.0.0.1:6379> STRLEN num
(integer) 3
127.0.0.1:6379> APPEND num 456
(integer) 6
127.0.0.1:6379> get num
"123456"





阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/79118084
文章标签: Redis
个人分类: Redis
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Redis数字操作

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭