為了讓讓資料存取的速度適應CPU的處理速度,透過提取「暫存不久前存取過的資料」的概念,來實現使CPU不再透過讀取記憶體造成效能降低,如今快取的概念的應用上已經不僅在CPU和主記憶體之間有,而且在記憶體與硬碟之間,也可以實現Cache(磁碟快取)。
Cache是一種概念,可以想像Cache是一個資料夾,會把你之前處理資料的結果,做成類似暫存檔的方式紀錄在那,並有一個做索引查詢的列表檔案,去紀錄每一支暫存檔,每一個暫存檔都有一個對應的唯一值,等到下次需要查找或處理同樣的檔案時,我們會先去Cache(資料夾)裡頭找到列表檔案內,是不是有上次紀錄的暫存處理結果,如果有的話就先把暫存檔呼叫出來繼續處理,而非每一次都需要去記憶體或是硬碟的方式做查找,來提升效能。
想像一個大型的購物網站,光在首頁可能就有百項商品,千百張大大小小的圖,這樣的情況在對資料庫撈取上完全沒有設計的情況下,會是多麼大的負擔?
你提到了 DB server 那麼...你應該是想問跟網頁相關的問題
但是...你這問題太過龐大了,Cache是一種概念,他會出現在各式各樣的地方
你要更收歛一些問題的範圍,才有辦法做討論,否則的話,想回答的朋友們也不知道該怎麼開口
滿滿的想說的東西 但是卻不知從何說起ㄚㄚ
你的問題應該可以寫一本畢業論文.
所以你想問什麼?
建議直接上網找資料吧.
如果是 MySQL 的話, 導入 Redis 來處理緩存最近很盛行
如何使用Redis做MySQL的缓存
快取大概是什麼概念,有哪些實作方法,會連帶有一些資料不同步的情況發生?
實作我不會,概念我可以打個比喻
(以下例子純為舉例,先別想合理性或實際情形)
有位大學圖書館的工作人員
由於圖書館不開架,書籍不外借
所以該人員的工作是「找到借閱人要閱覽的書,拿到櫃台來給借閱人看,看完再拿回架上」
經過一段時間
該人員觀察出一些現象,其中包括
「開學的一個月內,來借特定書籍(例:php入門)的人特別多」
與其每次都要「找書、放回去、找書、放回去、找書、放回去...」重複的動作
該人員想出一個點子,就是
「影印那本書,放在櫃台,就可以給來借書的人看」以提高效率
簡單的說
這就是「快取」的概念
選我正解