*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 文档中的字符串。