Memcached хранит данные, но Rails не использует их - PullRequest
0 голосов
/ 30 июля 2009

environment.rb:

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

development.rb:

config.action_controller.perform_caching  = true

Это выход из memcached, когда я вызываю URL.

get development: views / 127.0.0.1: 3000 / aktionen.xml разработка ключа отправки: views / 127.0.0.1: 3000 / aktionen.xml Разработка набора END: 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

Ответы [ 2 ]

3 голосов
/ 30 июля 2009

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

0 голосов
/ 21 августа 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...