Вы начинающий программист, создававший приложения для собственного проекта? или вы программист, который сделал собственный проект в своей компании? Ваш начальник хочет, чтобы вы улучшили приложения, но, может быть, вы не знали, что вам нужно делать? или, может быть, вы молодой технический директор, который хочет улучшить свой MVP (минимально ценный продукт) в своем собственном стартапе? Кем бы вы ни были, возможно, это хорошее улучшение для ваших приложений или вашего проекта

Зачем нам нужно улучшать наши приложения с помощью кеша?

Мне очень нравится концепция Начни с чего. так что сначала я скажу вам почему. как вы, возможно, знаете, сервер базы данных имеет ограниченный запрос. может быть 32к коннект или ниже. что, если у вас есть электронная коммерция, большая распродажа которой происходит за один день, и у вас есть 100 000 активных пользователей или 1 миллион активных пользователей? сколько вам нужно заплатить, чтобы иметь этот сервер базы данных? вы можете проверить в облаке AWS или Azure Cloud, чтобы узнать, что хе-хе. это так дорого!

хорошо, это проблема? для меня и из моего опыта мы можем использовать 2 метода. Первая концепция Master-Slave, вы можете прочитать статью моей команды Agustinus Theodorus о Master-Slave, и вы можете выбрать то, что вам лучше всего известно, между Master-Slave и Caching.

Давайте поговорим о кешировании, что такое кеширование? Согласно описанию Википедии, кеш - это аппаратный или программный компонент, который хранит данные, чтобы будущие запросы на эти данные могли обслуживаться быстрее. хорошо, я легко вам скажу. Допустим, у вас есть постоянные данные или данные, которые обновляются не менее 1 часа, или вы можете использовать политику, согласно которой приложения получают новые данные только каждые 1 час.

поэтому приложение будет запрашивать данные в API, а API проверит память, если в кеше нет данных, API получит данные из базы данных. после этого API сохранит данные в кеш-памяти и хранит их в течение 1 часа. поэтому, если есть другой запрос от приложения, API не нужно запрашивать базу данных, и он получает только из кеша.

так что, если вам нужен 1 миллион запросов в секунду? вам нужно только умножить свой API-сервер, так будет дешевле. потому что вам не нужно было оплачивать несколько баз данных, вам нужно только несколько серверов API.

Так что же такое Redis?

Redis - это хранилище структуры данных в памяти, используемое в качестве распределенной базы данных ключей и значений в памяти, кеша и брокера сообщений с дополнительной надежностью. вы можете установить Redis на автономном сервере, и каждый API может хранить данные кеша и получать данные из Redis.

Лучше всего установить Redis в 3 кластера. поэтому каждый API может записывать и читать данные из Redis с высокой доступностью.