Redis INCRBY 操作报ERR value is not an integer or out of range错误

首先我排除了Value is not an integer 如果是这个问题就必要继续往下聊了!
网上对out of range 情况的说明较少,下面就主要说说out of range

Redis Error out of range

第一次遇到这种情况,心想存的值还会超出范围?由于是存储的游戏账号的虚拟金额,数据就会很大
在这里插入图片描述
153446300131139628342
也数不清是多少钱了 但是这个数值有21位,已经远远超出的Integer的223次方了
心想 存储的String 类型值 整型的Value 只能有21位??
于是我存入了 1534463001311396283421234567890123456789没有任何问题
在这里插入图片描述

Redis INCRBY

问题就出在 incrby命令上 查阅官网的对于INCRBY说明
在这里插入图片描述
关键的就是我红色框里的内容 INCRBY 指令只能操作64位有符号整数
也就是 -263~263-1
大家可能在想究竟有多少位 我这也帮大家算出来了
-9223372036854775808~9223372036854775807 19位数
当使用INCRBY 操作大于这个范围数的时候就会报ERR value is not an integer or out of range

下面帮大家演示下
在这里插入图片描述
您的点赞,是我更新的动力!
如有错误,望指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值