2

Я использую MongoDB в качестве базы данных для системы NodeJS, которая интенсивно работает с этой базой данных.

Я использую модуль Mongoose в качестве контроллера базы данных.

Мой вопрос: MongoDB или Mongoose как-то кешируют запросы? У меня проблемы с получением данных из базы данных.

Что я имею в виду под этим?

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

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

1 ответ1

2

FAQ: Основы MongoDB говорят следующее:

MongoDB обрабатывает кеширование?

Да. MongoDB хранит последние использованные данные в оперативной памяти. Если вы создали индексы для своих запросов и ваш рабочий набор данных помещается в ОЗУ, MongoDB обслуживает все запросы из памяти.

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

Однако это не означает, что кэширование вообще не происходит: если вы подключаетесь к серверу MongoDB через Интернет, и браузер, и веб-сервер вполне способны кешировать URL-адреса и их ответы.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .