2010-02-22 26 views
0

假設我們有某種項目,這些項目可以由用戶評分。我應該將項目評分和項目數據存儲在不同的內存緩存鍵中嗎?我應該將項目評分和項目數據存儲在分開的內存緩存鍵中嗎?

從邏輯上講,我們應該保持對主要項目數據的評級,因爲項目數據變化非常少,但是評級變化更頻繁。當有人評價該項目時,我應該僅使項目評分鍵失效,而不是整個項目。

爲什麼我問這個問題?例如,我有每頁100個項目....

  1. 我越來越項ID此頁面= 1周的memcache「查詢」
  2. 我得到項目數據頁面上的每個項目ID = 100內存緩存「查詢」
  3. 我越來越項評級在頁面= 100內存緩存每個項目編號「查詢」

總:201內存緩存「查詢」

存儲項目ř與主要數據一起在一個鍵中,我們將只獲得101 memcache「查詢」

那麼,最佳實踐是什麼? 我真的很擔心每頁的memcache「查詢」數量。或者我不應該擔心它?

謝謝。

+0

如果我們將添加「favourited times」,「number的評論「等 - 我們將有更多的memcache」查詢「。中庸之道在哪裏? – Kirzilla 2010-02-22 13:45:35

+0

或者,也許我們可以通過更改緩存數據而不是刪除整個密鑰來避免使緩存無效? – Kirzilla 2010-02-22 15:29:46

回答

0

如果您將節省項目評分分別將無法通過它來進行排序。最好使用mysql innodb表格(如果你真的需要按等級排序)(這是​​優化的,以高併發和優秀的寫入負載工作)

相關問題