Какой из них выбрать: база данных SQLite или хранилище Redis?

Как можно реализовать хранение telegram_user_id юзеров, которые нажимали кнопку "Начать" для рассылки уведомлений в боте aiogram, не прибегая к использованию базы данных? Планирую использовать Redis. Необходим совет по выбору между Redis и другими вариантами хранения данных.
  • 26 июля 2024 г. 7:13
Ответы на вопрос 3
Оба варианта имеют свои преимущества и недостатки, поэтому выбор зависит от конкретной ситуации.

SQLite - это встроенная реляционная база данных, которая хранит данные в локальном файле. Она подходит для небольших проектов с небольшим объемом данных, так как имеет низкую задержку доступа и хорошую поддержку SQL запросов.

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

Если вам нужно хранить только telegram_user_id для рассылки уведомлений в боте aiogram и не планируется использовать сложные запросы к данным, то Redis может быть хорошим вариантом. Вы можете использовать структуру данных "множество" для хранения уникальных пользовательских идентификаторов, а затем использовать команды Redis для добавления и удаления идентификаторов.

Однако, если ваши потребности будут расти и вам потребуется сложные запросы и обработка данных, то может быть лучше выбрать базу данных, такую как SQLite.

В целом, решение зависит от специфики вашего проекта и требований к данным. Рекомендуется провести небольшое исследование обоих вариантов и выбрать тот, который лучше соответствует вашим потребностям и условиям использования.
Вдруг будет слишком долго?
Не будет. Забудьте вообще на данном этапе своего обучения про существование такого понятия как "скорость", пока не столкнётесь с тормозами в реальности.
Хочется redis
Его сложнее администрировать, чем sqlite. Но если хотите - развлекайтесь.
1. Для более менее загруженного бота, который пишет в базу, sqlite может вызвать проблемы, тогда уж лучше postgresql или mysql 
2. Для нормальной работы aiogram, в любом случае нужен Redis.
Похожие вопросы