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

使用Redis-OM保存JsonModel后,如何在redis-cli中查看?

如何用redis-cli查看Redis OM的JsonModel数据?

给定代码

from redis_om import HashModel, JsonModel

import redis

r = redis.Redis(host='localhost', port=6379, db=2)
kwargs = {'key1': 'value1', 'keyn': 'value2'}
jsonModel = JsonModel(**kwargs)
jsonModel.save()
print(jsonModel.key()) # 示例输出: :redis_om.model.model.JsonModel:01GB7B0V33424C9SDK6FM8496Q

我已在Redis服务器上正确加载RedisJSON模块,想通过redis-cli查看上述代码保存的JsonModel数据。作为Redis新手,我尝试了以下命令但均返回nil:

127.0.0.1:6379[2]> get :redis_om.model.model.JsonModel:01GB7B0V33424C9SDK6FM8496Q
(nil)
127.0.0.1:6379[2]> json.get :redis_om.model.model.JsonModel:01GB7B0V33424C9SDK6FM8496Q
(nil)

解决方法

  1. 确认数据库上下文
    代码中指定了db=2,你的redis-cli已经显示[2],说明数据库切换正确,这一步没问题。

  2. 理解Redis OM的JsonModel存储结构
    Redis OM的JsonModel默认将数据存储为Redis 哈希(Hash)类型,而非RedisJSON的原生JSON类型。这就是get(字符串类型命令)和json.get(RedisJSON命令)都返回nil的原因——你用错了数据类型对应的命令。

  3. 使用哈希类型命令查看数据
    针对Hash类型,使用以下命令即可查看数据:

    • 获取所有键值对:
      HGETALL :redis_om.model.model.JsonModel:01GB7B0V33424C9SDK6FM8496Q
      
    • 获取单个字段值:
      HGET :redis_om.model.model.JsonModel:01GB7B0V33424C9SDK6FM8496Q key1
      
    • 获取所有字段名:
      HKEYS :redis_om.model.model.JsonModel:01GB7B0V33424C9SDK6FM8496Q
      
    • 获取所有字段值:
      HVALS :redis_om.model.model.JsonModel:01GB7B0V33424C9SDK6FM8496Q
      
  4. (可选)改用RedisJSON存储
    如果希望用RedisJSON原生类型存储,需要在定义模型时配置Meta类指定支持RedisJSON的数据库客户端:

    from redis_om import JsonModel
    
    class MyModel(JsonModel):
        class Meta:
            database = r  # r是你初始化的Redis客户端,需确保已加载RedisJSON模块
    
    # 保存后即可用json.get命令查看
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:37:34