Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Кэширование и Redis

Олег Дипникович Гуру (2512), закрыт 1 месяц назад
У меня в проекте на питоне идёт обращение к бд(sqlite3). Запросы отправляются очень часто. Узнал про кеширование, примерно понял(надеюсь верно): мне нужно обратиться к бд, получить данные об аккаунте пользователя, занести их в кеш и уже во все следующие разы брать их оттуда.

Узнал про редис, немного почитал и сразу такой вопрос: а надо ли мне это вообще делать и в чем разница? Та же база данных. Смысл мне делать почти полную копию бд и обращаться уже на эту копию? Плюсом почитал, кто-то пишет, что разницы в задержках при обращении вообще никакой нет. Подскажите и расскажите про это все подробнее, пожалуйста
Лучший ответ
Павел Михаловский Просветленный (36886) 1 месяц назад
Редис - база данных, которая хранит в данные в оперативке, а не на диске. Оперативка гораздо быстрее и соответственно скорость будет выше.
Редис - Отличный вариант для кэша. Грубо говоря ты запрашиваешь данные, вначале смотришь в кэше - если, там есть берешь оттуда, если нет, идёшь в базу и там спрашиваешь.

Если данных не очень много, можно все хранить прям в редисе. Все упирается в доступную оперативку. Единственное, там не таблицы, а ключ - значение, функционал сильно меньше, чем у SQL-баз.

Насчёт sqlite, [][] правильно говорит, что sqlite - это специфичная вещь. Грубо говоря база sqlite - это файлик, работа с которым происходит в коде. Он удобен, когда нужна база данных прямо на устройстве и не хочется разворачивать СУБД. Но проблема в том, что из-за того, что это файлик, будет тяжело обеспечить одновременную работу большого количества запросов. Обычно используют postgresql, mysql, mssql, еще oracle популярен.
Олег ДипниковичГуру (2512) 1 месяц назад
Грубо говоря ты запрашиваешь...
А почему грубо говоря то? ? Так кэш же и работает, разве нет?

А так, спасибо большое. Стало понятнее
Остальные ответы
[ ] [ ] Мастер (1347) 1 месяц назад
Прикол редиса, что он невероятно быстрый. И суть его в том, что если на твой сервер будет поступать множество запросов (пара миллионов в секунду, допустим), то редис неплохой вариант для их хранения
Олег ДипниковичГуру (2512) 1 месяц назад
То есть можно просто на него перейти, отказавшись от sqlite3?
[ ] [ ] Мастер (1347) Олег Дипникович, sqlite вообще специфичная вещь, мало кто ей пользуется, в основном юзают постгрес(часто) или mssql(не так часто) или что-то нереляционное типа монгодб. А по поводу редис, ты можешь в принципе, в теории, на него перейти целиком, но.. так никто не делает
Похожие вопросы