我想用mongodb加nodejs做一个聊天系统 他有添加好友和给好友分组的功能 不知道这样的mongodb要怎么设计比较好
欢迎选择我的课程,让我们一起见证您的进步~~
リーリー
人々は明らかに mongo について質問していますが、上記の誰もが redis と答えました。Redis は 1 次元の線形データには非常に便利ですが、このようなリレーショナル型に似たデータの場合は、やはり mongo を使用する必要があります。 。
データベース: 永続性を考慮すると、結局のところ、mongodb はまだ十分に高速ではありません。キャッシュのレイヤーを追加することをお勧めします。redis の順序付きコレクションを使用することは良い選択です。 プログラム的には、Web/iOS/Android が通信できるように、クライアントとサーバーが接続を確立した後、クライアントはメッセージをサーバーに送信して Redis に保存し、オンラインのターゲットの友人に送信します。サーバー経由で。 相手がオフラインの場合はredisにキャッシュし、相手がオンラインになるとすぐに未読メッセージが取得されて相手に送信されます
redis が主導権を握り、pgsql がバックアップになります。 mongodb がこれを行います。 。 。 。 。まだこのシーンにはふさわしくありません。
この要件を満たす永続的なデータベースはありません。バッファリングには Redis が必要です。あるいは、永続化のために Redis を要求することもできます (特定のソリューションについてはオンラインで検索できます。Momo の技術スタッフがオーバーシェアを行ったのを覚えています) バッファリング後のデータを mongodb に保存する方法については、基本的には適切な方法でデータを保存する方法を検討するだけで済みます。
リーリー
人々は明らかに mongo について質問していますが、上記の誰もが redis と答えました。Redis は 1 次元の線形データには非常に便利ですが、このようなリレーショナル型に似たデータの場合は、やはり mongo を使用する必要があります。 。
データベース: 永続性を考慮すると、結局のところ、mongodb はまだ十分に高速ではありません。キャッシュのレイヤーを追加することをお勧めします。redis の順序付きコレクションを使用することは良い選択です。
。プログラム的には、Web/iOS/Android が通信できるように、クライアントとサーバーが接続を確立した後、クライアントはメッセージをサーバーに送信して Redis に保存し、オンラインのターゲットの友人に送信します。サーバー経由で。
相手がオフラインの場合はredisにキャッシュし、相手がオンラインになるとすぐに未読メッセージが取得されて相手に送信されます
redis が主導権を握り、pgsql がバックアップになります。 mongodb がこれを行います。 。 。 。 。まだこのシーンにはふさわしくありません。
この要件を満たす永続的なデータベースはありません。バッファリングには Redis が必要です。あるいは、永続化のために Redis を要求することもできます (特定のソリューションについてはオンラインで検索できます。Momo の技術スタッフがオーバーシェアを行ったのを覚えています)
バッファリング後のデータを mongodb に保存する方法については、基本的には適切な方法でデータを保存する方法を検討するだけで済みます。