缓存优化过程中的一些思考
生活随笔
收集整理的這篇文章主要介紹了
缓存优化过程中的一些思考
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近一段時間在做雙十一的優(yōu)化,對于緩存的使用和改造漸漸有了一些思考,記錄一下
- 緩存的使用、選擇
* 讀簡單,寫復雜的業(yè)務最好放在寫入端
* 讀復雜,寫簡單的業(yè)務邏輯放在讀取端
* 根據(jù)業(yè)務的類型,選擇是使用集中式緩存還是分布式的
* key-value的規(guī)則
* 基礎的cache需要關注的事:替換策略等等。。。 - 緩存導致的數(shù)據(jù)不一致,補償措施
* 對于集中式的緩存做補償是比較容易的
* 對于分布式的相對來說比較麻煩,方案待考慮,TMD tair是怎么搞得,有同步機制補償嗎?感覺不太對啊,TODO 緩存并發(fā)寫入的問題
* 緩存也是有狀態(tài)的序列化對象,一定要注意并發(fā)的問題,md上次統(tǒng)一調度的是否確認審核就出現(xiàn)了這個情況,too young too simple大促期間的控制
* 失效時間
* 預熱數(shù)據(jù)量
* 預熱校驗
* 預熱流程:比如說預熱會不會導致下游服務擊穿,是否會存在批量DB操作或者引發(fā)DB性能問題
* 預熱的并發(fā)數(shù)量控制
* 批量預熱等cache重建
- 大批量緩存同時失效可能會導致緩存擊穿率升高
- 緩存失效時間加一個隨機數(shù),避免同時失效
- 考慮是否需要失效后在做一下加載?看情況決定是否有必要,我感覺大促沒必要
- 非關鍵鏈路應用加流控
而且具體的的緩存實現(xiàn)方式也很有意思,看Guava的cache實現(xiàn),使用了FutureTask的形式,這個設計四高一
轉載于:https://www.cnblogs.com/kakaxisir/p/7426332.html
總結
以上是生活随笔為你收集整理的缓存优化过程中的一些思考的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】JMeter学习(十三)分布式部署
- 下一篇: 软件测试工程师职业发展方向及前景