Rails.cache.read возвращает ноль в рельсах, но не в консоли - PullRequest
0 голосов
/ 28 июня 2011

Я пытаюсь кэшировать и читать пользовательский объект через его ключ API.Использование отлично кешируется, и я могу прочитать кеш в консоли rails, но по какой-то причине выполнение того же самого Rails.cache.read в приложении rails всегда возвращает nil.

Вот пример того, что я делаю.Это в функции before_filter.

def authKey
  #?api=ce6f95a8bf7f9861330ede58f8972981
  key = params[:api]
  cu = Rails.cache.read(key)

  #<do some logic>
  logger.debug("CACHING USER #{key}")
  Rails.cache.write(key, user)

cu всегда будет nil, но объект будет существовать в memcache.Кто-нибудь еще сталкивался с такой проблемой?Я использую камень Далли с включенным сжатием.

Ответы [ 2 ]

4 голосов
/ 28 июня 2011

Я считаю, что кэширование рельсов по умолчанию отключено для разработки и включено в тестирование и производство. Проверьте в config / environment / development.rb и посмотрите, что config.cache_classes установлено в ...

0 голосов
/ 18 апреля 2014

Кэширование по умолчанию отключено для среды разработки.Добавление 'config.action_controller.perform_caching = true' в config / environment / development.rb должно решить проблему.

http://guides.rubyonrails.org/caching_with_rails.html#basic-caching

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