DECR

DECR key

key 中储存的数字值减一。

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

本操作的值限制在 64 位(bit)有符号数字表示之内。

关于递增(increment) / 递减(decrement)操作的更多信息,请参见 INCR 命令。

可用版本:

>= 1.0.0

时间复杂度:

O(1)

返回值:

执行 DECR 命令之后 key 的值。

  1. # 对存在的数字值 key 进行 DECR
  2. redis> SET failure_times 10
  3. OK
  4. redis> DECR failure_times
  5. (integer) 9
  6. # 对不存在的 key 值进行 DECR
  7. redis> EXISTS count
  8. (integer) 0
  9. redis> DECR count
  10. (integer) -1
  11. # 对存在但不是数值的 key 进行 DECR
  12. redis> SET company YOUR_CODE_SUCKS.LLC
  13. OK
  14. redis> DECR company
  15. (error) ERR value is not an integer or out of range

原文: https://wizardforcel.gitbooks.io/redis-doc/content/ref/35.html