因為在看 hemi, 所以順便跟 ingram 聊到關於網頁速度的問題..
加 cache 是大家立刻會想到的想法..
不過, 對於 hemi 這種全個人化網頁, 有什麼方法可以做比較好的網頁 cache 系統呢?
我想了幾個方式:
1. Reverse Proxy
加 reverse proxy 在前面, 這是最一般的方式了, 但是我猜 cache 的 hit rate 應該很低, 所以是保護住了 server, 但是沒有發揮 cache 的作用..
2. OSCache
OSCache 有提供 cache 部份 jsp 網頁 (用 taglib) 的能力, 可以選擇性 cache 住比較花時間的程式結果, 如資料庫 query..
For example, 針對熱門書籤, 可以先 cache 住從資料庫撈出的熱門書籤, 然後再用另一段的程式去抓每個人的喜好 - 如是否 "推" 過, 兩個結合起來再回給 client..
3. 把個人化的地方抽離出來用 ajax 實作
另一個方式是乾脆把需要個人化資料的地方抽出來..
server 先回傳一般化可以被 cache 住的資料, 如現在的熱門書籤..
client 收到後再根據這些熱門書籤去抓這些是否被 "推" 過, 再補上 "推" 這個按鈕..
不知道是否有其他人有不同的方式呢?
tags: cache java oscache
Sep 30 2006, 04:52:02 PM CST Permalink Comments [81]
加 cache 是大家立刻會想到的想法..
不過, 對於 hemi 這種全個人化網頁, 有什麼方法可以做比較好的網頁 cache 系統呢?
我想了幾個方式:
1. Reverse Proxy
加 reverse proxy 在前面, 這是最一般的方式了, 但是我猜 cache 的 hit rate 應該很低, 所以是保護住了 server, 但是沒有發揮 cache 的作用..
2. OSCache
OSCache 有提供 cache 部份 jsp 網頁 (用 taglib) 的能力, 可以選擇性 cache 住比較花時間的程式結果, 如資料庫 query..
For example, 針對熱門書籤, 可以先 cache 住從資料庫撈出的熱門書籤, 然後再用另一段的程式去抓每個人的喜好 - 如是否 "推" 過, 兩個結合起來再回給 client..
3. 把個人化的地方抽離出來用 ajax 實作
另一個方式是乾脆把需要個人化資料的地方抽出來..
server 先回傳一般化可以被 cache 住的資料, 如現在的熱門書籤..
client 收到後再根據這些熱門書籤去抓這些是否被 "推" 過, 再補上 "推" 這個按鈕..
不知道是否有其他人有不同的方式呢?

tags: cache java oscache
Sep 30 2006, 04:52:02 PM CST Permalink Comments [81]

雖然 

