Я тут последние пару лет гонял личный проект с трафиком в 50 000 ежедневных рыл из поисковика. Вывалил так вывалил, ага. И я бы руки оторвал тому, кто бы мне кеш между базой данных и приложением намастерил. Кеш для поисковиков начинается с HTTP 304. И там же его можно закончить, поставив http reverse proxy вперед (нынче самый популярный способ это сделать — тупо подключить клаудфлару).
Ну и кеш — это черная магия, с которой надо работать предельно настороженно и под лупой. Если человек сходу заявляет «без кеша нельзя», то он, скорее всего, просто обчитался хабрахабра.
Если вы на сайте от тяжелых запросов кешем спасаетесь, то дайте мне его адрес — я повалю его за пять минут, просто морфируя запросы.
> Вы точно уверены в том, что пишете?
Конечно. Сообщения в чате — это драгоценные данные, которые надо хранить вечно. Если не это, то я не знаю, что еще имеет смысл хранить. Банковские балансы?
> И что вместо него?
Не знаю. Я тупо на постгресе велосипедю. Когда сломается под нагрузкой, тогда буду гуглить, чего там люди вообще придумали для очередей. Пока не сломалось.
Вы пишете 50 000 ежедневных рыл из поисковика, как будто это сильно много. Для личного проекта - возможно. Но для серьёзного - это копейки, потому что это (если исходить, допустим, из равномерной нагрузки), это меньше одного запроса в секунду - то есть очень мало. Понятно, что нагрузка, скорее всего, не равномерная, но даже так вряд ли там хотя бы 100 запросов в секунду будет.
> Кеш для поисковиков начинается с HTTP 304
Замечательно. И как этот кеш инвалидировать?
> просто морфируя запросы
Как? Если у запроса параметров весьма ограниченное число, то все возможные результаты будут в кеше
> Конечно. Сообщения в чате — это драгоценные данные, которые надо хранить вечно.
Вы где-то видели в поисковой выдаче ссылки на страницы из чатов? Не форумов, а именно чатов с реалтаймом.
> Если человек сходу заявляет «без кеша нельзя», то он, скорее всего, просто обчитался хабрахабра
У меня в конторе есть проект, где тяжёлые запросы к БД. И в самом лучшем случае они выполняются за 40-60 мс. Выборка из Redis занимает раз в 10 меньше времени.
> Я тупо на постгресе велосипедю
При трафике 2 запроса в секунду (в среднем) это вполне имеет право на жизнь.