2012-09-05 54 views
2

我們目前有一個網站有大量的評論(「upvote」分數),總是按id排序而不分頁。具有可排序和分頁數據的memcache策略

我們希望以不同的方式添加評論(最新,最高分等)以及可以自定義的分頁(每頁10,25,100)。

現在,爲我們緩存很容易。我們可以memcache原始的HTML,只是吐出一個對象的註釋。如果我們緩存per_page和sort_method的每種可能的組合都比我們能夠實現的更少,但是由於它們更具特異性,所以命中將會少得多。

我們正在嘗試爲此考慮一個好策略,但我們有點難住。

額外的信息:

  • 我們裝載在AWS上平衡幾個EC2實例與RDS服務器和 ElastiCache的內存緩存。
  • 如果他們能夠在我們的基礎設施中運作良好,我們向其他可行的技術人員開放,以實現我們的目標 。 (如Redis的)

回答

1

我不認爲只有一個答案,這是一個很大取決於你的網站的實際數字,例如每ID意見的最大數量。

但是,我不會緩存HTML頁面,而是緩存構建頁面所需的數據,可能是SQL結果集。我會爲每個排序順序提供一個包含所有註釋的緩存條目,然後過濾掉不需要的條目。如果這似乎太大,那麼你也可以沿着將它分成N個評論塊的路線。

請記住,您將需要一些強大的方法來處理更新,所以知道刪除哪些鍵是重要的,這就是爲什麼我喜歡上述解決方案的所有評論,但正如我所說,這取決於你的號碼。