在访问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)有人能帮我解决这个问题吗?
发布于 2015-12-18 15:42:49
我想这不是绝地武士的虫子。Redis具有各种批量长度的限制,并且没有很好的文档记录。以this question为例。看看multibulk length length in Redis source code:
如果响应总数超过512*1024*1024字节,则会捕获
invalid bulk length错误(第1118行)。
发布于 2018-08-10 19:04:15
确保类文件“实现Serializable”。
示例:
public class Sample1 extends Sample2 implements Serializable
{
// implementation here
}发布于 2020-01-09 14:51:20
您应该在对Jedis实例执行操作之后调用Jedis.close()方法。
https://stackoverflow.com/questions/34350432
复制相似问题