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