Имеется система оценки пользователями различных проектов и встал вопрос о том, как лучше всего запоминать оценки пользователя, чтобы при посещении уже оцененного проекта ему показывалась оценка, которую он уже ставил ранее. Каждый раз дёргать базу и проверять, есть ли там его оценка - кажется, жирно будет. Имеется Redis, все сессии хранятся в оперативной памяти, но хранить эту информацию там тоже памяти не хватит. Что вы думаете?
при посещении уже оцененного проекта ему показывалась оценка, которую он уже ставил ранее
Если оценок не сильно много, то все оценки по проекту можно хранить в самом проекте, тогда не будет лишних запросов на чтение для этого.
(Ну или наоборот, если пользователи лайкают редко, тогда все оценки хранить в пользователе).
Все остальные варианты видимо потребуют доп. запросов.