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

配置Apache Ignite Redis接口后Node.js连接报错求助

Node.js连接Apache Ignite Redis接口时的AbortError及Ignite枚举错误解决

你遇到的问题是Node.js的Redis客户端尝试连接启用了Redis接口的Apache Ignite时,抛出AbortError,同时Ignite控制台出现枚举相关错误。下面是具体的原因分析和解决方案:

错误原因分析

从Ignite的错误日志可以直接定位问题核心:

java.lang.IllegalArgumentException: No enum constant org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRedisCommand.INFO

这说明你当前使用的Apache Ignite版本,其Redis兼容接口并未实现INFO命令。而Node.js官方的redis客户端(默认配置下)在建立连接后,会自动发送INFO命令做"就绪检查"(ready check),Ignite无法处理这个命令,直接导致连接中断,最终Node.js端抛出连接终止的AbortError。

解决方案

只需要修改Node.js代码,禁用Redis客户端默认的就绪检查即可:

var redis = require("redis");
// 添加no_ready_check: true,阻止客户端自动发送INFO命令
var client = redis.createClient({
  detect_buffers: true,
  no_ready_check: true
});

client.get("test", function (err, reply) {
  if(err == null){
    console.log('reply:'+reply);
  } else{
    console.log('error:'+err);
  }
});

client.quit();

额外提示

  • Apache Ignite的Redis兼容接口仅实现了Redis命令的子集,并非全部支持,建议查阅你使用的Ignite版本官方文档,确认支持的命令列表。
  • 如果后续需要使用更多Redis命令,可以考虑升级Ignite到更新的版本,新版本通常会扩展Redis命令的支持范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:14:54