使用Redis INCR除外Int64 maxvalue会发生什么

时间:2016-04-26 09:56:38

标签: redis

很简单,我使用Redis INCR来确保计数器的原子增量,计数器的起始值小于Int64.MaxValue。

当Redis达到Int64.MaxValue或抛出错误时,Redis会重置该值吗?

我阅读了文档,但没有说明会发生什么,我确实希望在翻转时保持原子性

1 个答案:

答案 0 :(得分:17)

会抛出错误。我为你的用例做了一个小实验

127.0.0.1:6379> set value 9223372036854775807 (2 power 63 -1)
OK
127.0.0.1:6379> incr value
(error) ERR increment or decrement would overflow
127.0.0.1:6379> 

Redis最多可以容纳2个电源63.如果超过该限制则会抛出错误。它可能是"超出范围"错误或"溢出"错误

出错时,您可以捕获该异常并重置应用程序逻辑中的值。

相关问题