it-swarm-ja.com

MongoDBはクエリをキャッシュしていますか?

私はMongoDBをNodeJSシステムのデータベースとして使用しており、データベースと頻繁に連携しています。

私はデータベースコントローラーとしてMongooseモジュールを使用しています。

私の質問は: MongoDBまたはMongooseはどういうわけかクエリをキャッシュしていますか?データベースからのデータのフェッチで問題が発生しています。

それはどういう意味ですか?

たとえば、同じ秒で集計データベースクエリを使用し、異なる結果を期待する場合、同じ結果が得られます。

これは私のコードが原因である可能性がありますが、掘り下げる前に、隠されたキャッシュ機能が原因ではないことを確認する必要があります。

3
Baterka

FAQ:MongoDB Fundamentals は次のように述べています:

MongoDBはキャッシュを処理しますか?

はい。 MongoDBは、最近使用したデータをRAMに保持します。クエリのインデックスを作成し、作業データセットがRAMに収まる場合、MongoDBはメモリからすべてのクエリを処理します。

MongoDBは、同一のクエリに対してキャッシュされた結果を返すために、クエリ結果をキャッシュしません。

ただし、これはキャッシュがまったく発生しないことを意味するわけではありません。Web経由でMongoDBサーバーにアクセスしている場合、ブラウザーとWebサーバーの両方がURLとその回答を完全にキャッシュできます。

ほとんどの場合、優れたWebサーバーは、動的に見えるURLをキャッシュしません。つまり、疑問符(?)最後にパラメータがあります。 Webサーバーのドキュメントを確認するか、開発者にクエリを送信して(アクセス可能な場合)、この救済策が機能するかどうかを確認できます。

2
harrymc