Memcache для нумерации страниц - PullRequest
1 голос
/ 18 октября 2010

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

Использование Dalli и Memecache для хранения набора данных, которые извлекаются на каждомзапрос страницы, который должен быть разбит на страницы.В нем много данных, поэтому я бы предпочел не продолжать использовать базу данных, если это возможно, но я также не знаю, насколько дорогой является эта операция для памяти, как в memcache, так и просто в системной памяти.Чтобы разбить на страницы, я делаю в основном следующее:

  1. Вызов в memcache, чтобы увидеть, существуют ли данные данные
  2. Если найдены, получить данные и перейти к 4.
  3. Еслине найден, получить из базы данных и кеша
  4. Дуп объект , потому что объект заморожен.??<- кажется очень плохой идеей ... </li>
  5. Возвращать разбитые на страницы данные для отображения.

WillPaginate должен выполнять действия с набором данных, выходящим изБД, но выдает ошибку «невозможно изменить замороженный объект».

Насколько это плохо?dup - если большой объект (который кешируется для экономии времени при обращениях к БД), похоже, что он в конечном итоге потребляет много дополнительной памяти и запускает GC намного больше, чем необходимо.Кто-нибудь предлагает какие-то способы обойти это?

1 Ответ

0 голосов
/ 22 февраля 2011

Вместо работы с объектами в представлении Модель / Список, вы также можете кэшировать визуализированный HTML.Вы можете даже предварительно кэшировать содержимое для дополнительного повышения:)

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