You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amazon ElastiCache RedisJSON对象键含斜杠的行为差异问题

AWS ElastiCache Redis 7.1与本地Redis Stack JSON路径解析差异解决方案

问题核心

AWS ElastiCache for Redis 7.1(搭载旧版RedisJSON)处理带斜杠的JSON键名时,会将/解析为路径分隔符,导致$.path["0/1"]被拆分为path下的0子结构再嵌套1;而本地Redis Stack 7.2.0-v14(新版RedisJSON)会将引号内的0/1视为完整键名,直接存入path对象。

可行解决方案

1. 用单引号包裹特殊键名

在JSON路径中使用单引号包裹包含斜杠的键名,绕过旧版本的路径解析逻辑:

AWS:6379> json.set "key" "$.path['0/1']" '{"ID":"0/1"}'

执行后验证:

AWS:6379> json.get "key"
"{\"path\":{\"0/1\":{\"ID\":\"0/1\"}}}"

2. 命令行环境下双重转义斜杠

若必须使用双引号,需对斜杠做双重转义(Redis命令行会先解析一次转义字符):

AWS:6379> json.set "key" "$.path[\"0\\/1\"]" "{\"ID\":\"0/1\"}"

3. 升级ElastiCache版本(长期方案)

将ElastiCache升级到7.2及以上版本,新版RedisJSON的路径解析逻辑与本地Redis Stack一致,无需特殊处理即可直接使用$.path["0/1"]语法。

内容的提问来源于stack exchange,提问作者Marko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 16:10:06