Что общего лучшая практика, чтобы иметь дело с чем-то вроде этого ..HTTP/прокси-кэширование с Memcached
##Post controller
def show
@post = get_from_memcache
end
##show.html.erb
<div><%= post.body%></div>
<div><%= post.created_at%></div>
<div><%= post.category%></div>
<div><%= Post.favorites_count%></div>
get_from_memcache возвращают объект @post из кэша, который в принципе не истекают, потому что один раз пост , тело, категория, созданное на и т. д., остается неизменным.
Однако, на мой взгляд, я вызываю другой метод: избранное_count, который собирает количество избранных сообщений из memcache, и этот фаворит продолжает меняться.
Это упрощение, конечно, есть несколько полей, которые меняются.
Теперь, если бы я должен был реализовать какое-то кэширование http, то мне нужно было бы сделать fresh_when или stale? в моем методе контроллера (show), который по существу не будет отображать представления и, следовательно, обновленные подсчеты избранных, если только я не использую etag, который охватывал любимый счетчик и другие динамические поля, и в этом случае он может победить цель, поскольку эти поля изменяются регулярно ,
Как мне справиться с этой ситуацией? Поэтому я могу воспользоваться прокси-сервером, но сохранить некоторые динамические поля в обновленной странице? Одна вещь, о которой я могу думать, - это ajax-вызовы другим действиям контроллера для обновления этих полей после загрузки страницы, но это может быть уродливым.
Любые другие рекомендации?