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

使用@redis/json库存储JSON对象时遇redisClient.json未定义问题求助

解决redisClient.json未定义的问题

核心原因

默认的Redis客户端实例并未内置JSON相关命令,需要手动导入并注册@redis/json提供的命令集。

步骤1:安装正确依赖

需同时安装核心客户端和JSON扩展插件,执行命令:

npm install @redis/client @redis/json

步骤2:注册JSON命令到客户端

修改代码,导入JSONCommands并添加到客户端实例中,这是解决问题的关键:

const { createClient } = require('@redis/client');
const { JSONCommands } = require('@redis/json');

async function setupRedis() {
  const redisClient = createClient({
    url: `redis://${redis.host}:${redis.port}`,                
  });
  
  // 注册JSON命令集
  redisClient.addCommand(JSONCommands);
  
  await redisClient.connect();
  
  // 现在可正常调用json.set方法
  await redisClient.json.set('demo:data', '$', { name: 'test', count: 5 });
  
  // 验证读取结果
  const data = await redisClient.json.get('demo:data');
  console.log(data);
  
  await redisClient.disconnect();
}

setupRedis().catch(err => console.error(err));

额外注意事项

  • 确保@redis/client与@redis/json版本一致,避免版本不兼容引发异常
  • 若使用ES模块(import语法),只需将require替换为import,注册命令的逻辑保持不变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 07:12:41