*Redis JSON.TOGGLE 命令
JSON.TOGGLE 在 RedisJSON 中切换指定路径的布尔值(true/false)。
*语法
JSON.TOGGLE key [path]
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | JSON 文档键名 |
| path | String | 否 | JSONPath 路径,默认根路径 $ |
*返回值
- Boolean:切换后的新值(true 或 false)
- Error:路径不存在或不是布尔值
*时间复杂度
O(1)
*
*示例
*基本用法
> JSON.SET doc $ '{"flag": true}'
OK
> JSON.TOGGLE doc $.flag
false
> JSON.TOGGLE doc $.flag
true
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR path does not exist | 路径不存在 | 确认路径正确 |
| ERR path not a boolean | 目标不是布尔值 | 确认路径指向布尔值 |
*最佳实践
- 用于切换标志位
- 原子性操作,无需 WATCH
- 适合开关状态、功能标志等场景
*FAQ
Q1: 目标不是布尔值会怎样? A: 返回错误,只能切换布尔值。
Q2: 可以切换根路径吗? A: 可以,如果根路径是布尔值。