*Redis JSON.NUMMULTBY 命令
JSON.NUMMULTBY 在 RedisJSON 中对指定路径的数字值执行原子性乘法。
*语法
JSON.NUMMULTBY key path number
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | JSON 文档键名 |
| path | String | 是 | JSONPath 路径 |
| number | Integer/Float | 是 | 乘数 |
*返回值
- String:乘法后的新值
- Error:路径不存在或不是数字
*时间复杂度
O(1)
*
*示例
*基本用法
> JSON.SET doc $ '{"value": 10}'
OK
> JSON.NUMMULTBY doc $.value 2
"20"
> JSON.NUMMULTBY doc $.value 0.5
"10"
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR path does not exist | 路径不存在 | 确认路径正确 |
| ERR path not a number | 目标不是数字 | 确认路径指向数字 |
*最佳实践
- 用于需要乘法计算的场景
- 支持浮点数乘法
- 原子性操作
*FAQ
Q1: 和 JSON.NUMINCRBY 有什么区别? A: NUMMULTBY 是乘法;NUMINCRBY 是加法。
Q2: 支持除以零吗? A: 不支持,会导致错误或返回 Infinity。
Q3: 路径不存在会怎样? A: 会返回错误。