*Redis JSON.STRAPPEND 命令

JSON.STRAPPEND 在 RedisJSON 中向指定路径的字符串追加内容。


*语法

JSON.STRAPPEND key [path] value

*参数说明

参数 类型 必填 说明
key String JSON 文档键名
path String JSONPath 路径,默认根路径 $
value String 要追加的 JSON 字符串值

*返回值

  • Integer:追加后字符串的新长度
  • Error:路径不存在或不是字符串

*时间复杂度

O(N),N 为追加后的字符串长度


*示例

*基本用法

> JSON.SET doc $ '"hello"'
OK
> JSON.STRAPPEND doc '" world"'
(integer) 11
> JSON.GET doc
"\"hello world\""

*常见错误

错误 原因 解决
ERR path does not exist 路径不存在 确认路径正确
ERR path not a string 目标不是字符串 确认路径指向字符串

*最佳实践

  • 用于追加字符串内容
  • 注意 value 必须是 JSON 字符串格式(带引号)
  • 适合构建日志、消息等追加场景

*FAQ

Q1: value 需要带引号吗? A: 需要,value 必须是 JSON 字符串格式。

Q2: 可以追加到不存在的路径吗? A: 不可以,路径必须已存在且为字符串。

Q3: 和字符串追加命令有什么区别? A: 这是 RedisJSON 命令,操作 JSON 文档中的字符串。