Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过redis连接ApacheIgnite';s接口_Redis_Ignite - Fatal编程技术网

如何通过redis连接ApacheIgnite';s接口

如何通过redis连接ApacheIgnite';s接口,redis,ignite,Redis,Ignite,我想通过redis的接口从nodejs连接ApacheIgnite 在ignite配置中,我在config-default.xml中添加了以下xml定义: <property name="connectorConfiguration"> <bean class="org.apache.ignite.configuration.ConnectorConfiguration"> <property name="host" value="local

我想通过redis的接口从nodejs连接ApacheIgnite 在ignite配置中,我在config-default.xml中添加了以下xml定义:

<property name="connectorConfiguration">
    <bean class="org.apache.ignite.configuration.ConnectorConfiguration">
        <property name="host" value="localhost"/>
        <property name="port" value="6379"/>
    </bean>
</property>
测试nodejs代码时,例如:

var redis = require("redis");
var client = redis.createClient({detect_buffers: true}); 
client.get("test", function (err, reply) {
    if(err == null){
        console.log('reply:'+reply);
    }
    else{
        console.log('error:'+err);
    }
});
client.quit();
在nodejs中获取错误消息

vents.js:183
      throw er; // Unhandled 'error' event
      ^
AbortError: Ready check failed: Stream connection ended and command aborted. It might have been processed.
    at RedisClient.flush_and_error (d:\APP\nodejs\mcanserver\node_modules\redis\index.js:362:23)
    at RedisClient.connection_gone (d:\APP\nodejs\mcanserver\node_modules\redis\index.js:597:14)
    at Socket.<anonymous> (d:\APP\nodejs\mcanserver\node_modules\redis\index.js:293:14)
    at Object.onceWrapper (events.js:313:30)
    at emitNone (events.js:111:20)
    at Socket.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
Waiting for the debugger to disconnect...
AbortError

我需要帮助才能知道发生了什么?以及如何修复此错误,谢谢。

恐怕您的客户端使用的命令信息不是由Apache Ignite实现的。是否可以尝试其他客户端或memcached客户端?请注意,后者有二进制和文本形式,只支持其中一种形式。

刚刚在node.js redis client中遇到了相同的问题。。实际上,ApacheIgnite不支持INFO操作,NodeRedis客户端使用它来检查redis是否准备好提供查询。。解决方法是将其关闭:

redis.createClient({no_ready_check: true});

我想在memroy缓存中使用ApacheIgnite for corss平台(redis/ignite client/restful…),这不是一个好主意吗?我认为您应该使用不同的客户端。顺便说一下,在2.5发布后,Apache Ignite应该有一个node.js客户端。
[16:08:59,809][SEVERE][grid-nio-worker-tcp-rest-0-#36][GridTcpRestProtocol] Fail
ed to process selector key [ses=GridSelectorNioSessionImpl [worker=ByteBufferNio
ClientWorker [readBuf=java.nio.HeapByteBuffer[pos=14 lim=14 cap=8192], super=Abs
tractNioClientWorker [idx=0, bytesRcvd=0, bytesSent=0, bytesRcvd0=0, bytesSent0=
0, select=true, super=GridWorker [name=grid-nio-worker-tcp-rest-0, igniteInstanc
eName=null, finished=false, hashCode=1424564915, interrupted=false, runner=grid-
nio-worker-tcp-rest-0-#36]]], writeBuf=null, readBuf=null, inRecovery=null, outR
ecovery=null, super=GridNioSessionImpl [locAddr=/127.0.0.1:6379, rmtAddr=/127.0.
0.1:18970, createTime=1527667738762, closeTime=0, bytesSent=0, bytesRcvd=14, byt
esSent0=0, bytesRcvd0=14, sndSchedTime=1527667738762, lastSndTime=1527667738762,
 lastRcvTime=1527667738762, readsPaused=false, filterChain=FilterChain[filters=[
GridNioCodecFilter [parser=GridTcpRestParser [jdkMarshaller=JdkMarshaller [], ro
uterClient=false], directMode=false]], accepted=true]]]
java.lang.IllegalArgumentException: No enum constant org.apache.ignite.internal.
processors.rest.protocols.tcp.redis.GridRedisCommand.INFO
        at java.lang.Enum.valueOf(Unknown Source)
        at org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRe
disCommand.valueOf(GridRedisCommand.java:26)
        at org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRe
disMessage.command(GridRedisMessage.java:124)
        at org.apache.ignite.internal.processors.rest.protocols.tcp.redis.GridRe
disNioListener.onMessage(GridRedisNioListener.java:132)
        at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestN
ioListener.onMessage(GridTcpRestNioListener.java:193)
        at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestN
ioListener.onMessage(GridTcpRestNioListener.java:94)
        at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onM
essageReceived(GridNioFilterChain.java:279)
        at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessa
geReceived(GridNioFilterAdapter.java:109)
redis.createClient({no_ready_check: true});