Rails 3: оптимизировать вызов базы данных - PullRequest
3 голосов
/ 28 апреля 2011

Как лучше всего оптимизировать звонки в облачную базу данных MongoDB?

Например: пользователь может иметь 100 твитов или 100000 твитов, которые должны быть показаны на странице.

Что мне делать, чтобы оптимизировать выборку твитов? Учитывая, что старые твиты всегда одинаковы, я должен кешировать и получать только новые?

Я использую драйвер Ruby Mongo.

1 Ответ

0 голосов
/ 28 апреля 2011

Только один вопрос: Вы хотите показать 100000 твитов на странице?

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

Итак, я вижу две оптимизации:

  1. Создание индексов
  2. Ограничение количества твитов на странице (вы можете сделать это, как это делает Facebook на стене новостей).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...