2013-03-25 73 views
0

我試圖找到存儲關注者/關注用戶數據的最佳人選, 我最初考慮的是將其存儲在Redis中的用戶 - >用戶集但是後來我想到了一個情景,那裏有一百萬甚至一千萬用戶的關注者,Redis如何處理這樣一個龐大的集合?也不可能在redis中的一組分頁上做分頁,我必須檢索整個集合,如果用戶想要瀏覽跟隨他的人,那麼這將不起作用。 如果我將它存儲在MySQL中,我肯定可以做分頁,但是當我必須建立用戶提要時,可能需要很長時間從數據庫中提取1000萬條記錄,我可以以舊批處理方式執行此操作,但每次聽起來都很痛苦一個有很多追隨者的用戶會發布一些內容,然後處理這1000萬條記錄將永遠只是爲了獲取他的追隨者。 將它存儲在MySQL中用於分頁(主要是前端)還是Redis中用於構建活動源的事件驅動消息傳遞是否值得?MySQL vs Redis用於存儲關注者/關注用戶

回答

0

這是個人決定是否使用redis或mysql來執行此任務。這兩千萬條記錄都沒有問題。

MySQL擁有LIMIT x,y命令,用於從數據庫中獲取關注者的子集。

對於redis,您可以使用排序集並使用跟隨者的用戶標識或用戶開始跟隨的時間作爲排序集的評分。就像MySQL redis支持獲取大型有序集的一個子集。