这个答案可能不是您所期望的。但是我不得不说,Lua脚本是非常清晰的解决方案。
-- range-incrby.lua key , incrementlocal key = KEYS[1]local increment = ARGV[1]local cnt = redis.call('get', key) or 0cnt = cnt + incrementif (cnt >= 0 and cnt <= 100) then redis.call('set', key, cnt) return cntend另外,如果范围是
[0, 2^N - 1],则可以使用
BITFIELD带有溢出控制的命令来解决该问题。
BITFIELD key OVERFLOW FAIL INCRBY uN 0 increment
但是,这似乎不是您的情况。



