MongoDB は MySQL に似ており、フィールド インデックスとカーソル操作をサポートしています。その利点は、クエリ機能が比較的強力で、JSON データのクエリに優れ、大量のデータを保存できることです。 、ただし取引には対応しておりません。
Mysql はデータ量が多いと効率が大幅に低下するため、リレーショナル データベースの代わりに MongoDB が使用されることが多くなります。
Mongodb はより多くのメモリを消費します。これは、mongo がメモリが足りないと判断すると、指数関数レベル 2 でメモリを適用するためです。したがって、通常は mongodb を個別に配置することをお勧めします。
実際、redis はキャッシュ機構、つまり Cookie に近いと言えます。また、データの有効期限を設定することもできます。もちろん、永続的に保存することもできます (ただし、少し劣るようです) ?)。 Mongodb はドキュメントベースのストレージです。
メモリ管理メカニズム:
すべての Redis データはメモリに保存され、定期的にディスクに書き込まれます。メモリが十分でない場合は、指定された LRU アルゴリズムを選択してデータを削除します。
MongoDB は、インデックス ファイルがメモリに配置される点を除いて、mysql と同じです。 Linux システム mmap によって実装され、メモリが十分でない場合、ホットスポット データのみがメモリに配置され、他のデータはディスクに保存されます。
サポートされるデータ構造:
Redis は、ハッシュ、セット、リストなどを含む幅広いデータ構造をサポートします。
MongoDB のデータ構造は比較的シンプルですが、豊富なデータ式とインデックスをサポートしており、リレーショナル データベースに最も似ており、幅広いクエリ言語をサポートしています。
パフォーマンス:
redis は、少量のデータでのパフォーマンスと操作に適しています
mongodb は、大量のデータにアクセスする場合のパフォーマンスが優れています
信頼性:
両方とも永続性をサポートします。
クラスター:
MongoDB クラスター テクノロジーは比較的成熟しており、Redis は 3.0 以降のクラスターをサポートします。
該当しないシナリオ:
Ø 複雑な SQL の使用が必要な操作
Ø トランザクション システム
該当ありシナリオ :
Redis の最適なアプリケーション シナリオ: データが急速に変化し、データベース サイズを満たせる (メモリ容量に適した) アプリケーションに適しています。
MongoDB: 最適なアプリケーション シナリオ: 動的クエリのサポートが必要な状況に適しています。マップ/リデュース関数の代わりにインデックスを使用する必要があります。大規模なデータベースのパフォーマンス要件が必要です。CouchDB を使用する必要がありますが、いっぱいになっているためです。データが頻繁に変更されるメモリ アプリケーション。
Redis 関連の技術記事をさらに詳しく知りたい場合は、Redis チュートリアル コラム を参照してください。
以上がredis と mongodb の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。