Правильное кеширование часто используемых данных - PullRequest
0 голосов
/ 16 февраля 2020

не совсем уверен, стоит ли задавать этот вопрос в Stackoverflow или нет.

В настоящее время я создаю веб-страницу, которая будет использовать Mongodb logi c и redis. (с node.js)

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

при получении этого часто, если я получу его / хранить его в Redis или mongoDB? он нужен для какого-то кеширования.

причина в том, что каждые 5 секунд c, потому что в нем могут быть некоторые изменения, которые должны быть отражены бэкэндом.

каждый пользователь будет иметь их детали как username, password, money и 25 других значений.

Как мне подходить к этому, чтобы сделать его менее тяжелым, если бы я только использовал MongoDB?

пример:

function calledEvery5Sec(userid) {
 // get from Mongodb...
}

или

function CalledEverySec(userid) {
// get from redis if its avaliable there, else load from mongodb).
}

1 Ответ

0 голосов
/ 16 февраля 2020

Используйте индекс TTL для полей, которые вы хотите сохранить в течение короткого периода времени. Для этого с помощью $ out или $ merge создайте новую коллекцию tmp и извлеките из нее подробности.

Можете ли вы опубликовать образец документа.

...