redis.clients.jedis.exceptions.JedisConnectionException: 流的意外结束
redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream
我试图在使用 Jedis 客户端时向 Redis 服务器添加一些数据,但出现以下错误:Unexpected end of stream
错误。发生这种情况的原因可能是什么?
redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
[info] at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:198)
[info] at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
[info] at redis.clients.jedis.Protocol.process(Protocol.java:128)
[info] at redis.clients.jedis.Protocol.read(Protocol.java:192)
[info] at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:282)
[info] at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:181)
[info] at redis.clients.jedis.Jedis.watch(Jedis.java:1449)
我有同样的例外。在我的例子中,问题是两个并发线程试图同时使用 Jedis。一旦我确定只有单线程 writes/reads to/from 我的 Jedis 客户端,问题就消失了。
redis 服务器已设置超时
config get timeout
jedisPoolConfig设置setTimeBetweenEvictionRunsMillis不合理
嵌入式Redis服务器需要一段时间才能释放端口。在 afterAll 方法结束时添加 10 秒睡眠对我有用。我同意这不是一个干净的解决方案。
override def afterAll() {
super.afterAll()
jedis.close()
redisCluster.stop()
TimeUnit.SECONDS.sleep(10)
}
我试图在使用 Jedis 客户端时向 Redis 服务器添加一些数据,但出现以下错误:Unexpected end of stream
错误。发生这种情况的原因可能是什么?
redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
[info] at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:198)
[info] at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
[info] at redis.clients.jedis.Protocol.process(Protocol.java:128)
[info] at redis.clients.jedis.Protocol.read(Protocol.java:192)
[info] at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:282)
[info] at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:181)
[info] at redis.clients.jedis.Jedis.watch(Jedis.java:1449)
我有同样的例外。在我的例子中,问题是两个并发线程试图同时使用 Jedis。一旦我确定只有单线程 writes/reads to/from 我的 Jedis 客户端,问题就消失了。
redis 服务器已设置超时
config get timeout
jedisPoolConfig设置setTimeBetweenEvictionRunsMillis不合理
嵌入式Redis服务器需要一段时间才能释放端口。在 afterAll 方法结束时添加 10 秒睡眠对我有用。我同意这不是一个干净的解决方案。
override def afterAll() {
super.afterAll()
jedis.close()
redisCluster.stop()
TimeUnit.SECONDS.sleep(10)
}