我想增加redis计数器,但我不想从零开始计数,而是从定义的起始数字开始计数(例如-5)。

我知道如何通过Lua脚本中的SET / INCR来实现,但是我想知道是否只能使用INCR命令来实现。我们为INCRBY定义了类似的定义增量的地方,我们可以定义起点吗?

最佳答案

Lua非常适合此过程,但是您也可以通过事务来完成:

MULTI
SET counter -5 NX
INCR counter
EXEC
INCR每次都会运行,因此,如果您希望首次调用将其设置为-5,则应将SET的值更改为-6。您还可以通过管道传输这4个命令,以避免4个RTT发送命令。

关于redis - 定义Redis INCR的起始编号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45814578/

10-11 01:06