springboot 2.0 Redis command timed out的解決


環境:springboot 2.0.7 spring data redis

springboot從1.x升級到2.x后,spring data redis使用的redis客戶端驅動從1.x的jedis換到lettuce

使用過程中,出現Redis command timed out報錯,網上搜索后,很多文章都說配置項spring.redis.timeout在1.x可以設為0代表無限超時時間,而2.x必須要設置一個大於0的數,按此配置后確實正常了一段時間,但還是偶爾出現這問題

 

此時問題的症狀是:

timed out報錯的時機不確定,但一個較高幾率的情況是,功能很久沒用時,第一次用報錯幾率很高,然后第二次以后就正常

報錯時一觸發功能就報錯,根本不像是超時,要等待一段時間才報錯

 

最終解決方法是,把redis驅動換回jedis,具體方法請百度這里不展開

PS:在lettuce的github的issue有幾個此問題的討論,很多人跟我的情況也是一樣出現timed out但都找不到規律和原因,而且討論到結尾也沒結果,只能認為是lettuce的bug.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM