背景:網站中幾類變化很小的數據分為幾類:第一類,博客文章,新聞,(百培網站中的課程信息,分校信息,地圖數據等)
第二類:學校各種門戶,聚集頁面。比如網站的首頁;
其中第一類:變化最小,一旦產生,變化的可能性就很小。
第二種:訪問機率很大,時常變化,主要由編輯人員手動維護。
方案1:提供兩臺memcached服務器(主從關系,保證數據穩定),將訪問這兩類數據的方法緩存。在數據變更以后更新緩存即可
主要目的是隔離頻繁的數據的訪問。
方案2:將這兩類數據都生成靜態html文件,通過nginx指定前臺緩存訪問。缺點是更新數據后要生成新的文件,擔心時間久了
以后有磁盤碎片。另外多次讀取文件,可能有磁盤io影響。如果緩存到前臺,后臺數據變更了,前臺可能很難得到新的版本
方案3:將第一類生成靜態文件,第二類通過方法緩存起來,看上去好,但是我覺得實現起來比較困難。
實際上方案2,3都有一個實現上比較麻煩的地方,那就是所有的頁面頭部有一個用戶的登錄信息。如果緩存成文件這樣就我目前所想
頭部的數據只能通過ajax來得去了,這樣不但多了一次網絡io,也不允許頁面可以后退。
另外,我做這個方案有兩個目的,一種就是提高訪問速度,另外就是想從緩存的基礎上做數據庫讀寫分離,以便某些統計數據可以白天
及時的做