Для кеширования я кеширую массив атрибутов нужных мне объектов:
friends = [{:id => 4, :name => "Kevin"}, {:id => 12, :name => "Martin"}, …]
Можно ли иметь список пользователей, использующих этот массив, чтобы я мог использовать Rubyметоды?Например, я обычно получаю список не-друзей со следующим:
non_friends = User.all - current_user.friends
Здесь current_user.friends будет заменен кэшированным массивом, только с кэшированными атрибутами:
friends = [
#<User id: 4, name: "Kevin", created_at: nil, updated_at: nil, email: nil>,
#<User id: 12, name: "Martin", created_at: nil, updated_at: nil, email: nil>,
…
]
Возможно ли это?Это хороший подход к кешированию?(большой список ActiveRecords не вписывается в блок памяти Memcache размером 1 МБ.)
Спасибо,
Кевин
edit: Идея, лежащая в основеэто использование отсортированного / обработанного списка 2000 ActiveRecords, вокруг которого интенсивно используется мое приложение, но, поскольку оно не помещается в блок Memcache, я пытаюсь кэшировать интересные атрибуты только в виде массива.Теперь, как я могу использовать этот массив, как если бы это был массив ActiveRecord?