*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: 可以,如果根路径是布尔值。

Q3: 和 JSON.SET 有什么区别? A: TOGGLE 是原子性切换;SET 需要指定值。