本文小編為大家詳細(xì)介紹“SpringBoot整合redis客戶端超時(shí)怎么解決”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“SpringBoot整合redis客戶端超時(shí)怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。
成都創(chuàng)新互聯(lián)是專業(yè)的達(dá)茂旗網(wǎng)站建設(shè)公司,達(dá)茂旗接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行達(dá)茂旗網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
問題
在開發(fā)的時(shí)候,使用到Lettuce連接redis,一段時(shí)間后不操作,再去操作redis,會(huì)報(bào)連接超時(shí)錯(cuò)誤,在其重連后又可使用。
原因是:Lettuce 自適應(yīng)拓?fù)渌⑿拢ˋdaptive updates)與定時(shí)拓?fù)渌⑿拢≒eriodic updates) 是默認(rèn)關(guān)閉的導(dǎo)致問題的出現(xiàn)
解決的方案
方法一:
1、重寫連接工廠實(shí)例,更改其LettuceClientConfiguration 為開啟拓?fù)涓?/p>
@Configuration
public class RedisConfig {
@Autowired
private RedisProperties redisProperties;
//這是固定的模板
//自己定義了一個(gè)RedisTemplate
@Bean
@SuppressWarnings("all")
public RedisTemplate redisTemplate(@Qualifier("lettuceConnectionFactoryUvPv") RedisConnectionFactory factory) {
RedisTemplate template = new RedisTemplate<>();
template.setConnectionFactory(factory);
//Json序列化配置
Jackson2JsonRedisSerializer
2、SpringBoot2.3.x后,可使用配置文件中開啟lettuce的拓?fù)渌⑿?/p>
lettuce:
pool:
max-active: 20
max-wait: -1ms
max-idle: 10
min-idle: 2
cluster:
refresh:
adaptive: true
#20秒自動(dòng)刷新一次
period: 20
方法二:
更改連接redis的連接方式,使用jedis連接
org.springframework.boot
spring-boot-starter-data-redis
io.lettuce
lettuce-core
redis.clients
jedis
配置文件
spring:
redis:
password: xxx
host: 172.16.0.x
port: 6579
timeout: 5000
jedis:
pool:
#最大連接數(shù)據(jù)庫連接數(shù),設(shè) 0 為沒有限制
max-active: 8
#最大等待連接中的數(shù)量,設(shè) 0 為沒有限制
max-idle: 8
#最大建立連接等待時(shí)間。如果超過此時(shí)間將接到異常。設(shè)為-1表示無限制。
max-wait: -1ms
#最小等待連接中的數(shù)量,設(shè) 0 為沒有限制
min-idle: 0
#lettuce:
#pool:
#max-active: ${redis.config.maxTotal:1024}
#max-idle: ${redis.config.maxIdle:50}
#min-idle: ${redis.config.minIdle:1}
#max-wait: ${redis.config.maxWaitMillis:5000}
讀到這里,這篇“SpringBoot整合redis客戶端超時(shí)怎么解決”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前名稱:SpringBoot整合redis客戶端超時(shí)怎么解決
URL鏈接:
http://weahome.cn/article/gjsisi.html