ホームページ  >  記事  >  データベース  >  redis と mongodb の違いは何ですか?

redis と mongodb の違いは何ですか?

尚
オリジナル
2019-06-24 14:15:504456ブラウズ

redis と mongodb の違いは何ですか?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。