*Redis DECRBY 命令
DECRBY 将指定 key 的整数值减去给定的减量值。
*语法
DECRBY key decrement
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | 键名 |
| decrement | Integer | 是 | 要减去的整数值 |
*返回值
返回减去后的新值(整数);如果 key 不存在,先将其视为 0 再执行减法。
*时间复杂度
O(1)
*
*示例
*基本用法
> SET count 100
OK
> DECRBY count 20
(integer) 80
*对不存在的 key 操作
> DECRBY new_count 5
(integer) -5
*负减量
> DECRBY count -10
(integer) 90
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR value is not an integer or out of range | 当前值不是整数或超出 64 位有符号范围 | 确保 key 存储的是合法整数字符串 |
| ERR wrong number of arguments | 缺少参数 | 必须提供 key 和 decrement |
*最佳实践
*FAQ
DECRBY 和 DECR 有什么区别? DECR 固定减 1;DECRBY 可指定任意减量。
key 不存在时会怎样? 视为 0 再减,结果为 -decrement。
支持浮点数吗? 不支持;浮点数请使用 DECRBYFLOAT。