2014-10-31 58 views
0

我有一組20K的用戶,我有一個像Facebook一樣的Feed - 很多評論,分享,喜歡。當我顯示信息時,我需要一些全球用戶數據(頭像,名字,ID)。這種情況的最佳做法是什麼?如何在社交網絡中存儲用戶全球信息

我應該爲每個帖子/發佈使用mysql和JOIN用戶數據嗎?或者,將整套20K用戶存儲在內存緩存中並從中使用它會更好嗎?

目前我正在使用第二個選項 - 所有用戶都從memcache獲取到20M變量,並且我有性能問題。

我猜memcache選項比較好,因爲這個數據使用了很多。但是在這種情況下,如果我將它放在一個大陣列中(20M)還是使用單個變量,那麼每個用戶都是關鍵?

+0

在服務器之間爲每個請求發送20 MB的數據是非常瘋狂的(因爲任何時候在您的站點發生任何事情都必須更新整個緩存項)。緩存單個項目。您也可以爲不同的目的使用不同類型的項目緩存。對於供稿,您可以在短時間內緩存整篇文章的HTML,頭像和全部內容。您可以分別緩存用戶的個人資料。 – ceejayoz 2014-10-31 14:21:24

+0

謝謝!你幫了我很多。如果您可以將其作爲答案張貼,我會將其標記爲解答。我的問題現在解決了:) – 2014-10-31 14:49:17

回答

0

在服務器之間爲每個請求發送20 MB數據是相當瘋狂的(因爲任何時候您的站點發生任何事情都必須更新整個緩存項)。緩存單個項目。您也可以爲不同的目的使用不同類型的項目緩存。對於供稿,您可以在短時間內緩存整篇文章的HTML,頭像和全部內容。您可以分別緩存用戶的個人資料。