Задать вопрос
dnulled
@dnulled
PHP & JavaScript developer

Стоит ли в данном случае хранить данные в Redis/Memcached?

Появилась необходимость написать бота для социальной сети, бот имеет огромное количество всяких менюшек.
Встал вопрос - где стоит хранить последнее выбранное меню/действие? Стоит использовать что-то в роде Memcached/Redis? Если брать в расчёт тот факт, что пользователь может закончить переписку в любой момент, а данные-то по-прежнему останутся в оперативной памяти.
Или есть какая-то более разумная альтернатива?

Благодарю за ответы.
  • Вопрос задан
  • 175 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
zxscv
@zxscv
Редис, а именно его структура hash вполне подойдет и удобна. И я бы его выбрал если редис уже где то используется в других ипостасях в проекте. Мемкеш(ed) - нет, если вы не хотите терять данные при перезагрузке.

разумные альтенативы - реляционные базы данных
Ответ написан
Комментировать
Стоит использовать что-то в роде Memcached/Redis?

Мне в голову приходит только "из пушки по воробьям". Разве что, как сказал zxscv , Memcached/Redis уже где-то используется, например для разделения сессий между инстансами бота.
где стоит хранить последнее выбранное меню/действие?

На какой срок нужно хранить это поле? Сколько инстансов бота должно иметь доступ к этому полю в 1 и тот же момент времени?
пользователь может закончить переписку в любой момент, а данные-то по-прежнему останутся в оперативной памяти

Почему бы не хранить состояние в текущем процессе бота (у Вас же есть сущность "сессия"?), а по тайм-ауту не скидывать его, скажем в обычный мускуль?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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