異常分析 JedisConnectionException: java.net.SocketTimeoutException: Read timed out


問題描述

  測試Redis分布式鎖的時候,如果一次執行大量數據,系統會報出如下異常:

JedisConnectionException: java.net.SocketTimeoutException: Read timed out

問題分析

  redis是基於內存的,所以一般來說響應速度是毫秒級的,但是在本機開發測試遇到海量數量時,會導致socket的延時增加到秒級,由redis.clients.jedis.Protocol.DEFAULT_TIMEOUT = 2000,我們知道默認的超時時間是2秒。而我設置的socket連接超時時間是spring.redis.timeout=10, 單位 ms(毫秒);故拋出如上異常是正常現象。

問題解決

  增大socket連接超時時間spring.redis.timeout,改為1000后,情況好多了。如果你也遇到了這個問題,趕快去增加這個時間吧!


免責聲明!

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



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