Вопрос

окружающая среда.рб:

config.cache_store = :mem_cache_store, '127.0.0.1', { :namespace => RAILS_ENV.to_s }

девелопмент.рб:

config.action_controller.perform_caching  = true

Это результат memcached при вызове URL-адреса.

получить development:views/127.0.0.1:3000/aktionen.xml ключ отправки development:views/127.0.0.1:3000/aktionen.xml КОНЕЧНЫЙ набор development:views/127.0.0.1:3000/aktionen.xml 0 60 3 СОХРАНЕНО

Контроллер

caches_action :index, :expires_in => 5.seconds, :layout => false, :format => :xml

Информация

cache_pages вообще не производит никакой активности в memcached.Rails записывает aktionen.xml в общую папку, также игнорируя параметры expires_in и format.Вызов 127.0.0.1:3000/aktionen создает файл aktionen.html

Это было полезно?

Решение

Rails (начиная с версии 2.1) предоставляет различные хранилища для кэшированных данных, созданных кэшами действий и фрагментов.Кэш страниц всегда хранится на диске.

Кэширование действий ОЧЕНЬ похоже на кэширование страниц, разница лишь в том, что запрос страницы всегда будет поступать на ваш rails-сервер, и ваши фильтры всегда будут выполняться.Чтобы настроить кэширование действий, наш контроллер может выглядеть следующим образом:

class BlogController < ApplicationController
  layout 'base'
  before_filter :authenticate  # <--- Check out my authentication
  caches_action :list, :show

Более подробная информация здесь: http://railsenvy.com/2007/3/20/ruby-on-rails-caching-tutorial-part-2

Другие советы

Вы пробовали увеличить срок действия до чего-то большего, чем на 5 секунд, просто чтобы убедиться, что срок действия данных не истек, прежде чем вы сможете проверить их существование?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top