JedisConnectionException: java.net.SocketTimeoutException: Read timed out

发布于 2021-11-27 04:34:37 字数 2906 浏览 384 评论 3

Exception in thread "Thread-2" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:201)
at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
at redis.clients.jedis.Protocol.process(Protocol.java:132)
at redis.clients.jedis.Protocol.read(Protocol.java:196)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:288)
at redis.clients.jedis.Connection.getRawObjectMultiBulkReply(Connection.java:233)
at redis.clients.jedis.JedisPubSub.process(JedisPubSub.java:108)
at redis.clients.jedis.JedisPubSub.proceedWithPatterns(JedisPubSub.java:95)
at com.cms.redis.RedisAPI.getPool(RedisAPI.java:30)
at com.cms.socket.client.RequestServer.run(RequestServer.java:62)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at java.net.SocketInputStream.read(SocketInputStream.java:108)
at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:195)
... 10 more

用jedis,产生的异常这个一般是怎么引起的?如何解决?

用:jedis2.7.jar ,配置参数如下:

  JedisPoolConfig config = new JedisPoolConfig();
            config =new JedisPoolConfig();
            config.setMaxTotal(100);//设置最大连接数  
            config.setMaxIdle(50); //设置最大空闲数 
            config.setMinIdle(1);
            config.setMaxWaitMillis(3000);//设置超时时间  
            config.setTestOnBorrow(true);
            jedispool = new JedisPool(config, "10.96.10.225", 6379,300000,"password2011");

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情绪失控 2021-12-01 17:29:24

redis 用完实例需要返还给pool 解决此问题

水水月牙 2021-12-01 11:37:10

socket通信超时,原因一,业务执行时间超过3秒,比如要批量处理大量数据;原因二,redis服务器性能问题,处理时间过慢;原因三,同一jedis对象同时被多个线程使用,看起来不像这个原因

一个人的旅程 2021-11-28 14:02:46

我遇到过这个问题,当时我把redis存了400W的数据(单台机器),遍历一直会出现这个现象。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文