Ну хорошо, а если к примеру юзеров уже тысячи, сообщений сотни тысяч
Ну смотри, условно у тебя 10'000 юзеров. При открытии приложения они кинут 10'000 запросов на получение списка сообщений. Допустим, одно сообщение будет весить 1Кб текста.
Ты рассматриваешь вариант заменить это на следующее:
1. 10'000 юзеров получают сообщения в первый раз;
2. При повторном входе кидается 10'000 запросов на сервер, получая в ответ кэш сообщений для юзеров;
3. Локально собирается массив id записей и юзеры отправляет 10'000 запросов на сервер, передав id, в ответ получив новые данные.
4. Также, эти 10'000 юзеров отправляют 10'000 запросов на бэк с целью проверить какие из сообщений были удалены (сообщения можно заменить на посты, например, не суть).
Итого: сейчас ты кидаешь 10к запросов и получаешь ответ из базы. Всё норм.
В предлагаемом варианте картина будет следующая:
1. 10к запросов, они кэшируются (это минус 10Мб в оперативку (за кэш редис же отвечает, да?));
2. В ответ получаешь 10Мб кэша
3. Вновь кидаешь 10к запросов, сервер очищает 10Мб кэша и вновь составляет его;
Итого, в первом случае сервер примет 10к запросов, а во втором - 40к на то же самое действие.
Вопрос: в каком варианте нагрузка на сервер будет наименьшей?)