Jedis 配置


 

redis 打算使用這款緩存系統

Jedis 是官方推薦的一款封裝組建。

以下是遇到的幾個問題

 

1、使用都非常簡單,但是經過我封裝之后,使用默認設置。從服務器端看連接數60多個,前段就已經報超時了。所以,有必要對配置文件做一番研究。

經過檢查原來是寫單例的時候,沒給值給值,導致沒一個鏈接就是一個新的請求。改完后,問題解決。

 但是當多線程的時候,會出現問題2的現象。

 

2、新的問題出現,經過多次刷新對緩存的調用的時候。會拋出錯誤。

redis.clients.jedis.exceptions.JedisConnectionException: Unknown reply: o

經谷歌查出,我對JEDIS 使用了單例,他並不是線程安全的。官方建議使用線程池來解決這個問題。

發現用了連接池以后,好像還是默認配置的8個就,線程就開始進入等待狀態,不行。

經谷歌,百度翻閱問題幾天,調整了線程最大值,什么的。歸還線程等等,依然未果。

我試了兩種方案,一種是使用線程池的,但是從服務器端窗口看到到60個線程客戶端就開始拿不到可用鏈接,很郁悶。

另一種是單例的不使用線程池的,這種可以解決訪問線程卡死的問題,響應很快,但是使用多線程並發測試的時候,JEDIS客戶端不是線程安全的,會出現

線程間共享資源問題(我使用的是單例模式),於是嘗試了加鎖,但是這樣極大的降低了響應速度,一個頁面連續刷幾次就會拋出 READ TIME OUT錯誤。

最后沒辦法,啟用第一種,繼續嘗試各種方法,考慮服務端版本問題,去了官網查閱。下了一個最新的64位的版本,線程問題迎刃而解

 

 


免責聲明!

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



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