Оправдано ли использование Redis для подобного?

Здравствуйте. Нужно написать telegram-бота, который последовательно задаёт пользователю вопросы, а потом записывает введённые данные в БД. Перед опросом пользователь должен будет выбрать язык. Я решил подключить для этого Redis.

То есть при каждом сообщении я буду считывать из Redis так называемый "уровень" (т.е на каком вопросе находится пользователь) и выбранный им язык. Все ответы тоже буду записывать в Redis, а потом уже заноситься в БД. Итак, вопрос:

Правильно ли использовать Redis для такого? Может, я выиграю в быстродействии, если просто буду хранить массив объектов (ну или JSON-файл)

P.S. Реализация бота на Node.js
  • Вопрос задан
  • 1146 просмотров
Решения вопроса 2
@napa3um
Вы, по-сути, реализовываете хранение сессионных данных пользователя. Использовать для этого redis вполне обычная и распространённая практика.

P.S.: выигрывать что-то в быстродействии лучше стараться только после того, как оно было проиграно на практике, так называемая "преждевременная оптимизация" (решение несуществующих проблем) - очень распространённый психоз среди начинающих разработчиков.
Ответ написан
Если список вопросов/ответов небольшой, скажем < 4кб, то я бы его целиком читал/писал в монгу. Если список действительно большой то использовать redis оправдано с целью уменьшения запросов к ДБ. Только лучше сначала писать в ДБ затем в redis, иначе( если база отвалится) можете задать пользователю следующий вопрос без сохранения предыдущего.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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