У меня есть сайт, на котором я внедряю кэширование.Стратегия кэширования фрагментов Rails
Если возможно, я использовал кеширование действий, и у меня есть подметальные машины, чтобы истечь необходимые действия при создании/обновлении моделей.
В взглядов, которые подлежат caches_action
я также фрагмент кэшируются некоторые партиалы так, что в парциальное у меня есть что-то вроде:
<% cache('video_content') do %>
Some content here
<% end %>
В моей video_sweeper
я пытаюсь истечь этот фрагмент с:
expire_fragment('video_content')
Этот фрагмент еще не истек.
Потому что я использую caches_action
, а фрагмент игнорируется по какой-то причине? i.e мне нужно сделать выбор между использованием 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