問題現象(jedis-2.1.0.jar)
問題現象(jedis-2.1.0.jar)
基於jedispool管理jedis物件,通過get方法獲取值,出現key對應的value值錯誤,例如:
k va a
b bjedis.get(「a」)==』b』;
通過獲取key為a的值,但獲取了值b來。
同一套**的專案,分別部署在兩個不同的應用集群,其中乙個集群出現這種問題,而另乙個集群卻沒有出現。
問題分析
通過表象可以看出,應該是鏈結池的jedis物件鏈結出現錯亂而導致的。而兩個集群中的其中乙個集群出現,這兩個集群的唯一區別就是網路環境不一樣,所以連線redis伺服器的網路是有差別的。
問題思考
根據以上資訊,可以大致判斷出應該跟網速和jedispool鏈結池的超時時間(500毫秒)設定有關。那接下來的問題是,如果網路差的集群,出現redis連線超時,那麼jedis為什麼會錯誤呢?是否在連線池的配置不當知道呢?
JedisPool配置總結
jedispool的配置引數大部分是由jedispoolconfig的對應項來賦值的。maxactive 控制乙個pool可分配多少個jedis例項,通過pool.getresource 來獲取 如果賦值為 1,則表示不限制 如果pool已經分配了maxactive個jedis例項,則此時pool的...
Emacs Python 自動補全之 jedi
jedi 的安裝配置並不是很友好。github 安裝jedi m x package install jedi jedi core這裡需要注意,jedi core是須要安裝的。因為後面會用到。配置python mode自動啟用jedi 在相應的配置檔案中加入以下內容 setq jedi server...
JedisPool鏈結未釋放
最近線上出現乙個問題,乙個介面一段時間後無響應,檢視nginx日誌499 502異常。通過查詢 和測試發現原來是jedis建立client連線redis之後資源未釋放。測試環境下,測試問題步驟如下 1 redis客戶端info clients檢視當前的連線數 2 呼叫異常介面。介面呼叫時redis的...