Зачем Redis?
Представьте, у вас 5000 активных пользователей, они запрашивают расписание каждый день. То есть это 5000 запросов к API ежедневно.
Один запрос = 1 секунда. 5000 запросов = 5000 секунд = 83 минуты ожидания.
Но есть важный момент - у многих студентов совпадает группа. То есть для многих студентов идет одинаковый запрос расписания. Можно сделать запрос единожды, сохранить результат на нашем сервере и впредь обращаться к нему, а не к API.
Теперь, как сохранять результат?
Мы можем сохранить результат запроса в нашей базе данных. А можем в кэше. В чем разница? БД хранит данные на диске, а кэш - в оперативной памяти. Доступ к диску может занять 30 мс, а доступ к оперативке - 0.25 мс. То есть разница в десятки-сотни раз.
Redis - это одна из реализаций in-memory кэша, поэтому я ей воспользовался.
P.S. У меня не наберется 5000 активных пользователей. Вполне возможно, что я бы обошелся и без кэша, но я решил использовать его для получения опыта.
Post #13
970
- 👍 11
- 🔥 8