redis连接超时问题

使用java代码测试redis时,报redis连接超时异常,而linux上的redis能正常访问:

redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeout

分析原因:有可能是linux的6379端口被防火墙拦截了(此外,redis.conf配置文件中bind后面需要将绑定的ip修改为实际要使用的ip地址)

打开端口:/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

保存:/etc/rc.d/init.d/iptables save

如上操作后正常(之前用redis的windows客户端也连接不上,也是这个原因)

重新测试连接正常:

原文地址:https://www.cnblogs.com/enjoyjava/p/10202305.html

时间: 2024-11-08 17:38:45

redis连接超时问题的相关文章

redis远程连接超时

 今天在用jedis连接远程的redis时,抛出连接超时异常:connect timed out.具体信息如下: Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out at redis.clients.jedis.Connection.connect(Connectio

解决redis上显示timeout连接超时

解决redis上显示timeout连接超时 首先从最简单的下手,如果你使用的是spring boot整合的redis,请看下redis配置是否正确. jedis: pool: max-active: 8 max-wait: -1 max-idle: 8 min-idle: 0 timeout: 10000 保密起见,只截取一段代码,将timeout设置成为长点的时间,不要设置成0.这是客户端的设置. 如果出现timeout的话,还应该从服务器上查看是否redis是否工作正常(最终采取的是重启re

java中使用jedis操作redis(连接池方式)

1 package com.test; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.List; 6 import java.util.Map; 7 8 import org.junit.Before; 9 import org.junit.Test; 10 11 import redis.clients.jedis.Jedis; 12 13 public class TestRedis

Java的Redis连接池代码性能不错

其实这个是引用自网友http://blog.csdn.net/tuposky/article/details/45340183,有2个版本,差别就是ReentrantLock和synchronized.另外原作者使用了断言,我觉得这个还是不用为好. ReentrantLock版 import java.util.concurrent.locks.ReentrantLock; import org.apache.commons.lang.StringUtils; import org.apache

redis连接池 jedis-2.9.0.jar+commons-pool2-2.4.2.jar

java使用Redis连接池  jar包为 jedis-2.9.0.jar+commons-pool2-2.4.2.jar 1 package com.test; 2 3 import redis.clients.jedis.Jedis; 4 import redis.clients.jedis.JedisPool; 5 import redis.clients.jedis.JedisPoolConfig; 6 7 public class RedisUtil { 8 //Redis服务器IP

spring boot(9) redis(连接,增删改查,集群,和session一起使用)

1.建立连接 1.1 pom.xml <!-- redis 相关支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> <version>1.3.2.RELEASE</version> </dependency> 1.2 app

Redis连接池

package com.lee.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public final class RedisPool { //Redis服务器IP private static String ADDR = "127.0.0.1"; //Redis的端口号 private

Go语言之从0到1实现一个简单的Redis连接池

Go语言之从0到1实现一个简单的Redis连接池 前言 最近学习了一些Go语言开发相关内容,但是苦于手头没有可以练手的项目,学的时候理解不清楚,学过容易忘. 结合之前组内分享时学到的Redis相关知识,以及Redis Protocol文档,就想着自己造个轮子练练手. 这次我把目标放在了Redis client implemented with Go,使用原生Go语言和TCP实现一个简单的Redis连接池和协议解析,以此来让自己入门Go语言,并加深理解和记忆.(这样做直接导致的后果是,最近写JS时

golang开发:类库篇(二) Redis连接池的使用

为什么要使用连接池 一个数据库服务器只拥有有限的连接资源,一旦所有的连接资源都在使用,那么其它需要连接的资源就只能等待释放连接资源.所以,在连接资源有限的情况下,提高单位时间的连接的使用效率,缩短连接时间,就能显著缩短请求时间. 所以就有了连接池的概念,在初始化时,创建一定数量的连接,先把所有连接存起来,然后,谁需要使用,从这里取走,干完活立马放回来. 如果请求数超出连接池容量,那么就排队等待或者直接丢弃掉.这样就可以省掉每次都创建和关闭连接的资源消耗和时间. 如果不使用连接池,那么,每次传输数