2017-08-03 14 views
0

私はsocket.io、node.js、redisを使用してリアルタイムチャットアプリケーションを使用しています。Redisハッシュ値を時間順に表示することはできません

削除機能を追加して、必要に応じてユーザーがコメントを削除できるようにする必要があります。 この作業を行うには、各コメントに一意のIDを割り当てる必要があります。選択したコメントだけが削除されます。

私はredisのlistを使用できません。一意のIDのためのスペースがないためです。 Listは、keyvalueしか使用できません。それでおしまい。

したがって、key,field(unique id)、およびvalueが必要なhashが見つかりました。最初は、これは私のチャットアプリケーションでうまくいっていて、hvalsを使ってコメントを表示できましたが、すぐにそれらのコメントがランダムな順序で表示されていました。この注文の問題は、listを使用していたときには発生しませんでした。

私はhashを使って時系列でコメントを表示できるかどうかについて調べましたが、そうすることは不可能と思われます。

この状況を処理する最善の方法は何ですか? 私はredisコードを破棄し、この目的のためにmongodbまたは他のデータベースに行くべきですか? この目的のためにredisを使用し続けることができれば、私はredisを使用してこの問題を回避する方法を教えてください。可能であれば、私は赤ちゃんを使い続けることを好む。

答えて

2

各値にスコアが設定されているソートセットを試し、スコアでソートすることができます。スコアはタイムスタンプでなければならず、メッセージとそのIDを評価します。

+0

これは絶対に意味があります。あなたの答えをありがとう。 – tet

関連する問題