私のウェブサイトでは、ユーザーは会話を使用してコミュニケーションをとることができます。受信ボックスのRedisデータ構造の設計
会話の受信ボックスページでは、特定のユーザーからの最新のメッセージのプレビューなど、連絡を受けたすべてのユーザーを表示できます。ページは、プレビューされたメッセージの日付順です。
UserA "Some message.." 2016-3-3
UserB "Other message.." 2016-3-2
UserC "..." 2016-2-15
etc..
私はこれを効率的にモデル化するために使用するRedisのデータ構造の正しい組み合わせがあると思いまして:
それはおよそ次のようになります。
最初はソートされた一連のユーザー(UserA、UserB、UserC)があると思っていましたが、これは各ユーザーから最新のメッセージを受け取るためにループが必要なことを意味します。
ループを避けるより良い方法はありますか?
ありがとうございます!
メッセージ受信者のソートセットを他のユーザーの受信ボックスに入れておくのはなぜですか? –
あなたの提案を正しく理解していれば、各ユーザーからの最新のメッセージのみを表示したいからです。たとえば、問題のuserXには、UserBからの1メッセージの後にUserAが送信した1000メッセージがあります。私は999のメッセージを捨てなければならない。 –