2014-01-06 90 views
1

我只是想知道使用Redis的最佳方法以及它與您的應用程序的關係。我正在建設一個大型的網站,每分鐘可能會提交數百個/喜歡'喜歡'的網站。使用MySQL和Redis優化計數器

目前,我有一個likes的mysql表和posts的另一個。 posts表有一個名爲like_count的字段,很明顯,每當從likes表中插入或刪除一個新的like時,存儲和更新總喜歡值的位置。

如果我剛搬來的likes表到Redis的,我還受完全從這個受益,如果我一直在posts表我的緩存(likes_count)值或應此舉動Redis的呢?

另外,如果我有樁的陣列,我怎麼會那麼檢索的Redis此信息每一個崗位(或我應該移動posts表中的Redis太?)

任何幫助將是非常讚賞

感謝

回答

0

通過適當的數據庫設計和分片/分區,我不認爲MySQL的甚至會在大規模帶來的可擴展性問題。

Redis提供了一個很好的用例,您可以根據您的需求對其數據類型進行通道化,例如列表,集合,排序集。您的使用案例似乎並未與使用redis對齊。

Redis不適合用作靜態內容數據存儲,因爲它是基於內存的數據庫,用於提供快速操作,因此應優化使用內存。

如果MySQL不符合你的要求,你可以看看MongoDb。它將爲您提供更好的寫入吞吐量(但不允許連接或事務),併爲您的數據模式提供更大的靈活性。它應該是您審覈的理想人選。