12

メモリキャッシュライブラリ(memcacheとmemcached)の代わりにMongoDBを使用できますか?

そして、MongoDBとメモリキャッシングライブラリの違いは何ですか。

4

3 に答える 3

8

キャッシュストアとしてのMongoDBの主な問題の1つは、有効期限メカニズムがないことです。あなたがこの答えで見つけることができることについてのより多くの詳細。

更新MongoDBv2.2以降、コレクションにTTLを使用できるようになりました。指摘してくれたJohnnyHKに感謝します。

キャッシュにはRedisを使用し、データベースとしてMongoDBを使用することをお勧めします。彼らは一緒にうまく機能します。

于 2013-01-11T20:12:58.187 に答える
6

MongoDBの最大の問題は、メモリ内のキー値ストアであるmemcachedとは異なり、すべてを自然かつ強制的にメモリにロードしないことです。

また、MongoDBはそれ自体のメモリ管理を行わず、代わりにOSがネイティブLRUアルゴリズムを使用してメモリ管理を完全に制御できるようにすることも考慮する必要があります。私はあなたのデータやインデックスやクエリを持っていないので、これがあなたに与えるかもしれない問題を推測することはできません。

ただし、me​​mcacheをデータベースとして使用しようとする多くの人(多くの人が使用しています)は、それを実行するのが特に高速ではないことに気づいています(実際にはそのために設計されていません)。これがMongoDBの突破口です。

MongoDBがmemcacheの代わりになるかどうかはニーズによって異なりますが、MongoDBがキャッシュを置き換える必要がある場合は、SQLもMongoDBに置き換えることもできます。これは、私の正直な意見です。キャッシュとストレージの間の境界線を曖昧にしました。

于 2013-01-11T21:03:20.503 に答える
4

これは、memcachedをMongoDBに置き換えた人々の例です。または、少なくともmemcachedの必要性を排除しました。

http://blog.serverdensity.com/removing-memcached-because-its-too-slow/

于 2013-01-11T20:19:07.707 に答える