redis緩存過期key優化-緩存不釋放


redis緩存過期key優化

背景

redis集群大量key寫入和大量key過期,運行一段時間,內存告急,並發出告警。

原因

  • 為啥設置了expire過期key,內存沒有釋放
    • key設置過期時間了,ttl為0后並不會自行刪除該key,而是等到下次訪問該key發現已過期,才會刪除。
    • 命令keys "*" 會瞬間釋放所有過期key,但是有風險。慎行。
    • 其實緩存是在釋放的,只不過是沒有那么快,釋放的快慢取決於redis.conf中的hz參數默認為5,意思是每秒執行5次刪除過期key。所以在redis過期較多的場景可以適當調大。並觀察cpu是否升高。

解決方法

  • 過期key刪除頻率 觀察cpu 內存
    • config set hz 20


免責聲明!

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



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