问题描述:spring连接redis,隔一段时间断开,重启服务后就又好了
1、修改监听队列的大小
#默认为128,128限制了接收新 TCP 连接侦听队列的大小
net.core.somaxconn = 2048
2、修改内存分配策略
#修改overcommit_memory,它的值有0、1、2
#0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
#1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
#2,表示内核允许分配超过所有物理内存和交换空间总和的内存
vm.overcommit_memory = 1
3、禁用大页内存
#可以把这个以下配置添加到 /etc/rc.local 文件中
echo never > /sys/kernel/mm/transparent_hugepage/enabled
4、强制关闭Redis快照导致不能持久化
修改redis的配置文件,将 stop-writes-on-bgsave-error 设置为 no
扩展:修改完服务器上的报错,在redis连接,如果还是隔一段时间断开,就需要找代码的原因
spring:
redis:
host: 192.168.0.122
port: 6379
password: aaaaa
database: 1
timeout: 6000 #超时时间,默认单位为ms
jedis:
pool:
max-active: 1000 #连接池最大连接数(使用负值表示没有限制)
max-idle: 10 #连接池中的最大空闲连接
min-idle: 3 #连接池中的最小空闲连接
max-wait: -1 #连接池最大阻塞等待时间(使用负值表示没有限制)