什么是热Key问题,如何解决热key问题
生活随笔
收集整理的這篇文章主要介紹了
什么是热Key问题,如何解决热key问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是熱Key呢?在Redis中,我們把訪問頻率高的key,稱為熱點key
如果某一熱點key的請求到服務器主機時,由于請求量特別大,可能會導致主機資源不足,甚至宕機,從而影響正常的服務。
而熱點Key是怎么產生的呢?主要原因有兩個:
1、用戶消費的數據遠大于生產的數據,如秒殺、熱點新聞等讀多寫少的場景。
2、請求分片集中,超過單Redi服務器的性能,比如固定名稱key,Hash落入同一臺服務器,瞬間訪問量極大,超過機器瓶頸,產生熱點Key問題。
那么在日常開發中,如何識別到熱點key呢?
1、憑經驗判斷哪些是熱Key;
2、客戶端統計上報;
3、服務代理層上報
如何解決熱key問題?
1、Redis集群擴容:增加分片副本,均衡讀流量;
2、將熱key分散到不同的服務器中;
3、使用二級緩存,即JVM本地緩存,減少Redis的讀請求。
總結
以上是生活随笔為你收集整理的什么是热Key问题,如何解决热key问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis是单线程的吗?为什么执行速度这
- 下一篇: Java的四种引用,强弱软虚,用到的场景