2017-02-17 24 views
1

Я читал, что: MongoDB хранит последние данные в ОЗУ. Если вы создали индексы для своих запросов и ваш рабочий набор данных находится в ОЗУ, MongoDB обслуживает все запросы из памяти.Лак для MongoDB, это необходимо?

Нужно ли создавать кеш-лак для REST API, который ведет переговоры с mongoDB?

ответ

0

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

Но перед веб-сервером я настоятельно рекомендую использовать лак. Он может значительно увеличить количество запросов, на которые может ответить ваш веб-сервер, поскольку, хотя у вашей базы данных уже есть ответ на повторный запрос, вам необходимо будет:

  1. Проанализируйте запрос;
  2. Переслать запрос в db;
  3. Подготовьте ответ;
  4. Ответьте на запрос.

С помощью лака перед вашим веб-сервером он не должен выполнять ни один из этих шагов. В этом сценарии Varnish уменьшит не только количество запросов, на которые должен отвечать ваш веб-сервер, но также запросы к базе данных.

Также стоит упомянуть, что если ваша база данных не находится на том же сервере вашего API, даже если вы очень быстро реагируете, есть также сетевая задержка, которая должна вступить в игру, если вы ищете хардкор-производительность.