2015-12-18 109 views
0

有时在访问Jedis时,我遇到以下例外情况。在Jedis中获得例外

异常1:

java.lang.ClassCastException: java.lang.Long cannot be cast to [B 
    at redis.clients.jedis.Connection.getBinaryBulkReply(Connection.java:204) 
    at redis.clients.jedis.Connection.getBulkReply(Connection.java:193) 
    at redis.clients.jedis.Jedis.get(Jedis.java:89) 

例外2:

redis.clients.jedis.exceptions.JedisDataException: ERR Protocol error: invalid bulk length 
    at redis.clients.jedis.Protocol.processError(Protocol.java:113) 
    at redis.clients.jedis.Protocol.process(Protocol.java:131) 
    at redis.clients.jedis.Protocol.read(Protocol.java:200) 
    at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:285) 
    at redis.clients.jedis.Connection.getBinaryBulkReply(Connection.java:204) 
    at redis.clients.jedis.Connection.getBulkReply(Connection.java:193) 
    at redis.clients.jedis.Jedis.get(Jedis.java:89) 

谁能帮我解决这个问题?

+0

产生这些错误的代码是什么? – Turn

回答

0

我认为这不是杰迪斯的错误。 Redis具有各种散装长度的限制,并没有很好的记录。例如,看this question。而看看multibulk长度限制in Redis source code

如果你总有超过512个* 1024个* 1024字节你将捕获invalid bulk length错误(行1118)。