Задать вопрос
@MaxiZm

Как хранить информацию о пользователях телеграмм бота?

Давно пишу телеграм ботов и всегда, чтобы хранить информацию о пользователе (товары в корзине, текущее местоположение в логической конструкции, объявления, заказы), создаю класс user, в него пишу информацию и с помощью модуля pickle сохраняю для каждого пользователя свой файл класса, который при необходимости подгружаю, исправляю и перезаписываю. Но, как вы уже поняли, система не отличается особой стабильностью. Чем лучше пользоваться, чтобы хранить информацию о пользователях (баланс, заказы, друзья, объявления и т.п.)?

PS: проблема выбора между SQL и NoSQL, что лучше для таких задач?
  • Вопрос задан
  • 741 просмотр
Подписаться 2 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
sqlite3 вполне годится. для предварительного хранения информации, если она получается по шагам, можно использовать redis. Только тогда, когда вся информация собрана и провалидирована, только тогда делается запись в БД
если бот сильно загружен запросами и его нужно ускорить, то нужно асинхронного бота и для sqlite использовать модуль aiosqlite https://pypi.org/project/aiosqlite/
Ответ написан
Комментировать
a777mp198
@a777mp198
Python developer
PostgreSQL отличная база данных, сколько использую её для работы с телеграм-ботами - проблем не возникает.
Ответ написан
Комментировать
trapwalker
@trapwalker
Программист, энтузиаст
Пользуйтесь MongoDB.
Датакласс свой сериализуйте не пиклом, а в json и его уже прямо в монгу сохраняйте.
Будет и быстро и просто.
Ответ написан
nki
@nki
bezkart.ru готовая система лояльности
Все свои боты использую совместно с DynamoDB. Полет нормальный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы