2014-10-08 30 views
1

因此,對於我的應用程序,我正在考慮添加Redis。我是Redis的新手,無法想出更新我需要不斷更新的信息的好方法,因此我想知道是否有人可以提供幫助。如何更新Redis中的多個鍵值對

在我的應用程序中,我在帖子和主題之間有多對多的關係。每篇文章也有一個分數。

我的第一個想法是設置我的Redis數據庫,因此每個主題都是一組有序的post_id,並且該有序集中的每個post_id都與該帖子的分數相關聯。帖子現在都是他們自己的散列,它們將其ID與關於帖子的信息(分數,user_id,url)相關聯。我正在定期更新該帖子的分數,這使我的問題。當我根據現在的設置更新該帖子的分數時,我需要去查找與該帖子關聯的每個主題並更新該主題的有序集合中post_id的分數。如果我將應用擴展到數百萬個帖子和數百萬個話題,這似乎不是最好的解決方案。

有沒有更好的設置,我的Redis數據庫,我沒有看到,或者我應該堅持我的SQL數據庫?

回答

2

該設計可以存儲帖子並通過分數跟蹤每個主題的帖子。

就可擴展性而言,我沒有看到數百萬個主題和帖子出現問題,但是您會更安全地做一些「餐後計算」數學工作,需要和需要的內存量。此外,從外觀看,你可以很容易地使用兩個數據庫 - 一個用於文章,一個用於主題 - 以更好地處理潛在的負載。

最後,不 - 如果Redis不夠用,我不會看到如何通過使用SQL數據庫獲得不錯的性能和擴展性。