1. 程式人生 > >redis禁用keys命令做模糊匹配

redis禁用keys命令做模糊匹配


  系統中使用了spring data redis中的一個redisTemplate.keys()方法,用來模糊匹配,開始在測試時,滿足一切的開發功能,部署到線上後,過了大概半天,伺服器出現了很高的延遲,通過aws的console觀察延遲比平時高七八倍左右。boss打電話來讓我檢視問題出現的原因在哪裡。
  觀察工程的日誌,看到最多的就是jedis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool這個異常,而且很多是read timeout
  KEYS * 命令,當資料規模較大時使用,會嚴重影響Redis效能,也非常危險立馬改掉專案中使用redisTemplate.keys()這個方法,改了後立馬cpu降下來,延遲恢復正常,而且控制檯中也沒有read time out,connect time out 等異常資訊了。