私はいくつかのキャッシュを実装しているサイトを持っています。Railsフラグメントキャッシュ戦略
可能であれば、私はアクションキャッシングを使用しました。モデル作成/更新時に必要なアクションを終了するために、掃除機を用意しました。
:私は、このフラグメントを期限切れにしようとしています 私video_sweeper
で
<% cache('video_content') do %>
Some content here
<% end %>
:部分内私のようなものを持っているように、私はまた、フラグメントは、いくつかのパーシャルをキャッシュしているcaches_action
の対象となっている景色の中で
expire_fragment('video_content')
このフラグメントは期限切れではありません。
私はすでにcaches_action
を使用しているため、何らかの理由でフラグメントが無視されていますか?つまり、caches_action
またはフラグメントキャッシュを使用するかどうかを選択する必要がありますか?
この場合、この部分が表示されるすべてのアクションビューを期限切れにする必要があります。これは、私の掃除機がメンテナンスの頭痛だけでなく、複雑になることを意味します。
私の悩みは主に、私の掃除機から呼び出されたときに私のフラグメントキャッシュが期限切れにならない理由です。なぜなら私はcaches_action
も使用しているからですか?
更新: 私のログをさらに調べると、スイーパが私のフラグメントを期限切れにしていることが実際に分かります。
Expire fragment views/video_content (0.7ms)
ただし、有効期限前にコンソールで再生すると、フラグメントが存在しないように見えます。
ruby-1.9.2-p136 :004 > Rails.cache.exist?('views/video_content')
=> false
繰り返しますが、これは私が部分的にはほとんどアクションがキャッシュされるように、有効期限が切れている場合を除き、ヒットしないことを私はcaches_action
を使用していますので、と思います。
感謝をキャスト。これらの動画をチェックします。ありがとうございます。 – Pete