一敷扫、簡述
緩存,是解決性能問題的一種必不可少的方法顿苇。簡單的說,cache 就是為了提升系統(tǒng)性能而開辟的一塊內(nèi)存空間税弃。緩存的主要作用是暫時在內(nèi)存中保存業(yè)務系統(tǒng)的數(shù)據(jù)處理結果纪岁,并且等待下次訪問使用。緩存在很多系統(tǒng)和架構中都用廣泛的應用则果,例如:
- CPU緩存
- 操作系統(tǒng)緩存
- 本地緩存
- 分布式緩存
- HTTP緩存
- 數(shù)據(jù)庫緩存
等等幔翰,可以說在計算機和網(wǎng)絡領域,緩存無處不在西壮∫旁觯可以這么說,只要有硬件性能不對等款青,涉及到網(wǎng)絡傳輸?shù)牡胤蕉紩芯彺娴纳碛啊?/p>
二做修、高性能
用戶第一次訪問數(shù)據(jù)庫中的某些數(shù)據(jù),這個過程會比較慢抡草。因為數(shù)據(jù)是從硬盤上讀取的饰及。將該用戶訪問的數(shù)據(jù)存在緩存中,這樣后面的請求就去緩存中讀取康震,使得請求能夠迅速響應燎含。操作緩存就是直接操作內(nèi)存,所以速度相當快腿短。如果數(shù)據(jù)庫中的對應數(shù)據(jù)改變之后屏箍,同步改變緩存中相應的數(shù)據(jù)即可。
根據(jù)交互效果的不同橘忱,這個響應時間沒有固定標準赴魁。在理想狀態(tài)下,頁面跳轉需要在瞬間解決鹦付,對于頁內(nèi)操作則需要在剎那間解決。超過一彈指的耗時操作要有進度提示择卦,并且可以隨時中止或取消敲长,這樣才能給用戶最好的體驗。那么瞬間秉继、剎那祈噪、一彈指具體是多少時間呢?根據(jù)《摩訶僧祗律》記載:
一剎那者為一念尚辑,二十念為一瞬辑鲤,二十瞬為一彈指,二十彈指為一羅預杠茬,二十羅預為一須臾月褥,一日一夜有三十須臾弛随。
經(jīng)計算,一瞬間為0.36 秒宁赤,一剎那有 0.018 秒舀透,一彈指長達 7.2 秒。
三决左、高并發(fā)
直接操作緩存能夠承受的請求是遠遠大于直接訪問數(shù)據(jù)庫的愕够,所以可以考慮把數(shù)據(jù)庫中的部分數(shù)據(jù)轉移到緩存中去,這樣用戶的一部分請求會直接到緩存這里而不用經(jīng)過數(shù)據(jù)庫佛猛。