Redis在概念上與我使用的傳統SQL數據庫有所不同,我試圖弄清楚它是否適合我的項目......我一直在環顧四周,但似乎無法找到對我的問題的答案。Redis和查詢值
我有一組需要存儲的用戶,每個用戶都有一個唯一的ID和與其關聯的多個值(如他們的名字)。好像我可以簡單地存儲這些作爲哈希:
user:fef982dcfe1a7bcba4849b4c281bba95
"username" "andrewm" "name" "Andrew"
我也有一堆的消息我想存儲,每一個都具有一些特性,如發件人和收件人:
message:1a7bcba4849b4c281bfef98a952dcfeb
"sender" "fef982dcfe1a7bcba4849b4c281bba95" "recipient" "82dcfe1a7bcba4849b4c281bba95fef9" "message" "Hi!"
我的問題是,我將如何去檢索由特定用戶發送的所有消息(由他們的散列表示)。我應該使用傳統的關係數據庫,還是使用像MongoDB這樣的NoSQL數據庫(我之前使用過)?如果是這樣,有沒有人對高性能商店有任何建議?我不會做任何真正的搜索(即MySQL LIKE
查詢) - 只是關鍵值查找,真的。
非常感謝您的解釋 - 這非常有幫助。我會進一步看看:) –
嗨,謝謝,非常有幫助。如果「添加/刪除消息意味着維護*:發送和*:接收集合」,它是否需要更多的空間來存儲數據,因此在內存中佔用更多空間?如果這種「多店鋪」經常完成,會不會成爲業績問題?感謝您的幫助 – Loic
是的,它代表了更多的數據存儲。關於性能,您應該使用流水線來分攤執行給定操作的多個命令的影響。請參閱http://redis.io/topics/pipelining –