В Rails 3.0 / 3.1 как мне кэшировать неизменяемые данные, необходимые для всего приложения? - PullRequest
0 голосов
/ 28 декабря 2011

У меня есть некоторые разумные сложные данные, которые мне нужно использовать для большого количества запросов. Он состоит из хеша различных объектов модели ActiveRecord (хотя я мог кэшировать только нужные мне атрибуты вместо всего объекта).

Мне нужно часто получать доступ к данным, и кажется, что они кешируются. Может меняться нечасто, но не часто. Мне нужно было бы иметь возможность перезагрузить данные, если они действительно изменились, но в целом данные выглядят лучше всего как кэшированные.

В настоящее время я не использую memcached, и кажется чрезмерным начинать использовать только для одного фрагмента данных.

У меня есть некоторые идеи, и я экспериментировал с некоторыми вещами, но я хотел бы получить более широкий набор рекомендаций.

Ответы [ 2 ]

1 голос
/ 28 декабря 2011

Memcached и memcache-client - очевидные, но есть и другие варианты, такие как cachetastic .Посмотрите что-то вроде ruby ​​toolbox и посмотрите, что еще нравится сообществу ...

1 голос
/ 28 декабря 2011
class MyModel < ActiveRecord::Base
  def self.my_cached_hash
    @my_cached_hash ||= get_my_cached_hash_here
  end

  def self.reset_my_cached_hash
    @my_cached_hash = nil
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...