集成redis遇到报错,求救!(集成redis报错)

随着传统系统功能越来越复杂,越来越多的应用引入Redis技术,实现缓存、排队、分布式锁等功能,不得不说Redis可利用率非常之高,但在项目中集成Redis的过程中,也会碰到一些报错,比如:发现Jedis连接Redis时出错,报错信息如下:`java.net.ConnectException: Connection refused;Jedis Connection to *** refused。`

解决这样的报错,一般有如下几种方案:

1、可能是系统连接Redis时使用的IP或端口错了。这一步有可能是Redis的IP和端口出现问题,可以通过检查查看,是否config和实例上的IP/端口是否一致,比如,在config中定义:

# Redis host
redis.host=192.168.10.138
# Redis port
redis.port=6379

检查实例端口是否和配置中的一样,实例端口可以使用:

telnet 192.168.10.138 6379  #配置中的目标ip和端口

如果能正常获取telnet信息,则说明Redis的地址和端口正确,可能是系统访问Redis有限制,可以检查redis配置项 bind 127.0.0.1是否是127.0.0.1,如果是,则需要将bind这一项,改为: bind 0_0_0_0

2、可能是Redis配置出现了问题,有可能是Redis的配置不对,比如timeout超时时间太小、maxclients数量太小等。可以通过查看Redis的配置文件中是否存在timeout、max clients等参数,满足系统的需求,比如,默认的timeout的超时值是0.5秒,可以设置满足系统连接需求的参数,例如:

timeout 300 #设定超时时间为300秒 
maxclients 10000 #最大连接为10000

3、也可能是系统对Redis的系统不够顺畅,例如,系统硬件设施有问题,或者发生了内存、磁盘或者网络io等问题。可以用top命令进行监控,看是否有明显异常,比如,内存占用过多,IO大于2M/s等情况,也可以用sar等命令进行硬件情况的监控,一般来讲,如果发现Redis的硬件信息有异常的情况,可以调低负载,或者增加资源。

以上就是集成Redis时遇到报错,求救的几种方案,一般来讲,遇到报错的情况,都需要我们仔细检查,找到报错的症结,定位和修复,从而达到一个正确的运行效果。


数据运维技术 » 集成redis遇到报错,求救!(集成redis报错)