Сегодня задался вопросом, а насколько это профитно, при запуске ноды создавать глобальный объект и изменять его при запросе от пользователей ? Приложение реалтаймовое, на сокетах.
var GlobalState = {};
И допустим зашел пользователь, если свойства GlobalState.usersAuth.[" user " + userid].auth.password нет, то идем в базу, если же есть то сравниваем пароли уже через вот эту переменную. А когда пользователь меняет пароль, то после успешной вставки в базу, меняем и в глобале.
Я щас пойду читать про утечки памяти, но мб кто сталкивался с таким вопросом. Кэш сервисы по типу мемкеша я не вижу особого смысла использовать или оно чем то лучше ?
upd.1.
Логика примерно такая
if ( GlobalState.usersAuth.hasOwnProperty( " user " + user_id ) ) {
//берем пароль для сравнения из глобальной переменной
} else {
//лезем в базу, сравниваем пароли и если все гуд, то записываем в глобальную переменную
};