2017-08-03 76 views
0

我有一個使用socket.io,node.js和redis的實時聊天應用程序。無法按時間順序顯示Redis哈希值

我需要添加刪除功能,以便用戶可以刪除他們的意見,如果他們想。 爲了做到這一點,我需要爲每條評論分配一個唯一的ID,因此只有選定的評論纔會被刪除。

我無法使用redis的list,因爲沒有空間來存儲唯一的ID。 List只能採取keyvalue。而已。

因此,我發現hash需要key,field(unique id)value。起初,這看起來在我的聊天應用程序上非常出色,我能夠使用hvals顯示評論,但很快我意識到這些評論是以隨機順序顯示的。當我使用list時,此訂單問題不存在。

我研究了是否可以使用hash按時間順序顯示評論,但似乎這是不可能的。

處理這種情況的最佳方法是什麼? 我應該放棄我的redis代碼,併爲此目的去MongoDB或任何其他數據庫? 如果我可以繼續使用redis來達到這個目的,你能告訴我如何使用redis來解決這個問題嗎?如果可能的話,我寧願繼續使用redis。

回答

2

嘗試排序的集合,這是一個集合,每個值都有一個分數,您可以按分數排序。分數應該是時間戳,以及消息和它們的ID的值。

+0

這絕對有道理。謝謝您的回答。 – tet