#ruby-on-rails #ruby-on-rails-3 #caching
#ruby-on-rails #ruby-on-rails-3 #кэширование
Вопрос:
Пытаюсь заставить кэширование фрагментов работать в Rails 3.0.9.
Я установил это в development.rb:
config.action_controller.perform_caching = true
И перезапустил сервер (webrick). Затем установите это на мой взгляд:
<% cache("tags_json") do %>
[Content to be cached]
<% end %>
И когда я перезагружаю страницу, я ничего не вижу в журнале о кэшировании. Перезагрузите страницу снова, те же результаты, кэш не был записан или прочитан. Насколько я могу судить, в дереве файлов также нет файлов кэша, созданных где угодно.
Я новичок в кэшировании, поэтому я уверен, что я просто забыл что-то настроить. Любая помощь приветствуется, спасибо!
Комментарии:
1. Есть ли файлы в вашем каталоге tmp / cache?
2. Нет. Извините, что так долго отвечаю.
Ответ №1:
Помимо настройки выполнения кэша ActionController, вам также необходимо установить хранилище кэша в общей конфигурации. Поместите
config.cache_store = xyz,abc
cache_store настраивает, какое хранилище кэша использовать для кэширования Rails. Параметры включают один из символов : memory_store, :file_store, :mem_cache_store или объект, который реализует API кэша.
По умолчанию используется значение :file_store, если существует каталог tmp /cache, и значение :memory_store в противном случае. Я рекомендую использовать хранилище dalli в сочетании с клиентом memcached.