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

Redis技术咨询:能否用RedisJSON更新哈希存储的JSON对象值?

RedisJSON是否支持向哈希形式存储的JSON对象设置值?

RedisJSON完全支持向哈希形式的JSON对象(即嵌套的JSON键值对结构)中设置值,它针对JSON对象的操作逻辑和Redis原生哈希类型类似,但更适配JSON数据模型的层级特性。

实操示例

先初始化一个哈希结构的JSON对象:

# 创建用户1的信息,包含嵌套的profile哈希对象
JSON.SET user:1 $ '{"name": "Alice", "profile": {"age": 30, "city": "New York"}}'

修改已有哈希字段

# 更新profile中的age字段值
JSON.SET user:1 $.profile.age 31

新增哈希字段

# 向profile中添加email字段
JSON.SET user:1 $.profile.email 'alice@example.com'

执行后用JSON.GET user:1查看结果:

{"name": "Alice", "profile": {"age": 31, "city": "New York", "email": "alice@example.com"}}

替换整个哈希对象

# 覆盖整个profile哈希结构
JSON.SET user:1 $.profile '{"age": 32, "city": "Boston", "occupation": "Software Engineer"}'

JSON.SET命令核心说明

JSON.SET是RedisJSON用于设置JSON值的核心命令,语法为:

JSON.SET <键名> <JSON路径> <JSON值> [NX | XX]
  • <键名>:目标Redis键的名称
  • <JSON路径>:用于定位JSON元素的路径,针对哈希对象的嵌套字段,使用.进行层级访问(如$.profile.age)
  • <JSON值>:要设置的内容,支持字符串、数字、对象、数组等所有JSON类型
  • NX:仅当指定路径不存在时才执行设置操作
  • XX:仅当指定路径已存在时才执行设置操作

该命令可以精准操作任意层级的JSON哈希结构,无论是修改已有字段还是新增字段都能实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 20:05:13