1

私は現在 redis-store を使用していますが、これは redis-store ではなく Rails が行っていることだと確信しています。

すべてのリクエストで、キャッシュ ログに次のような項目が表示されます。

1339188014.237987 (db 1) "get" "cache:http://www.domain.com/?"
1339188107.318145 (db 1) "get" "cache:https://www.domain.com/login?"

(2 つの別々のリクエスト)

フラグメントキャッシュのみを使用しています ( <% cache 'some_key' do %>...<% end %> )

ページ キャッシングまたはアクション キャッシングを使用していません。

では、なぜレールはそれらのキーを調べているのでしょうか? これらのキーを設定した痕跡は見つかりません。また、それらがゼロであることを確認しました。

4

1 に答える 1

1

覗く:

gems/activesupport-3.2.5/lib/active_support/cache.rb

ruby ディレクトリ (UNIX/Mac 上でこれがどこにあるのかわからない場合はwhich ruby、コマンド ラインに入力して bin ディレクトリを見つけ、そこから上に移動します。)

そこにブレークポイントを投げてデバッグし、コール スタックを確認します。そのログは 526 行目から来ていますActiveSupport::Cache::Store#log

これをデバッグしたところ、Metal に関連していて、ページの完全にキャッシュされたバージョンを探していることがわかりました。これはかなり無害に思えます。実際にページ キャッシングを行っていなければ、おそらく何も悪いことは起こらないでしょう。

于 2012-06-09T05:59:14.123 に答える