redis报错:最近开发环境使用redisson(版本是3.9),在部署一段时间(1个小时左右)报超时异常(org.redisson.client.RedisTimeoutException: Redis server response timeout (3000 ms) occured for command)
解决:
此处先检查自己使用的redis是否是redisson或是其他的jedis或者lettuer等
如果是后两者检查是否在yml文件做了配置。
如果是redission报错注意,虽说redission版本较高但也需要自己配置,如下:
曾说版本提高setPingConnectionInterval会解决,但我这里作用不是太强,这里是单机redis配置。注意!!!
/**
* 设置redisson缓存工厂,由于下面的工厂都是用的是redisson所以注意配置redissonclient
* @param client
* @return
*/
@Bean(name = "redissonconnectionfactory")
public RedissonConnectionFactory getfactory(RedissonClient client){
return new RedissonConnectionFactory(client);
}
/**
* redis单机配置
* @return
*/
public RedissonClient getclient(){
Config config=new Config();
config.useSingleServer().setAddress("redis://地址")
.setTimeout(1000)
.setRetryAttempts(3)
.setRetryInterval(1000)
.setPingConnectionInterval(1000)//**此项务必设置为redisson解决之前bug的timeout问题关键*****
.setDatabase(3);
return Redisson.create(config);
}