クエリキャッシュミドルウェア構成
Overview
このガイドでは、クエリキャッシュミドルウェアを使用するようにアプリケーションを構成する方法を学習できます。 クエリキャッシュミドルウェアを使用すると、リクエストごとに クエリ キャッシュを有効にしてクエリ結果を保存できます。これにより、アプリケーションがデータベースに対して実行する必要がある呼び出し数が減り、アプリケーションの速度と効率が向上します。
Rack Web リクエストでのクエリキャッシュの有効化
Rubyドライバーは、ウェブリクエストごとにクエリキャッシュを有効にする Rack ミドルウェアを提供します。 次のコードは、 Ruby on Railsアプリケーションでクエリ キャッシュ ミドルウェアを有効にする方法を示しています。
config/application.rb
# Add Mongo::QueryCache::Middleware at the bottom of the middleware # stack or before other middleware that queries MongoDB. config.middleware.use Mongo::QueryCache::Middleware
Rails アプリケーションで Rack ミドルウェアを使用する方法の詳細については、Rails ドキュメントの ミドルウェア スタックの構成 を参照してください。
アクティブなジョブでのクエリ キャッシュの有効化
Rubyドライバーは アクティブ ジョブ 用のクエリ キャッシュ ミドルウェアを提供します。次のコードに示すように、初期化のすべてのジョブに対してこれを有効にすることができます。
config/initializers/active_ job.rb
# Enable Mongo driver query cache for Active Job ActiveSupport.on_load(:active_job) do include Mongo::QueryCache::Middleware::ActiveJob end
次のコードに示すように、特定のジョブクラスに対して有効にすることもできます。
class MyJob < ActiveJob::Base include Mongo::QueryCache::Middleware::ActiveJob end