@SM_ST

Где хранить Mysql или в Redis?

Доброго дна, подскажите, где лучше хранить код, отправленный на телефон при авторизации в redis или mysql?
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 2
sarapinit
@sarapinit
Точу водой камень
При такой постановке вопроса, оба варианта одинаково плохи
Ответ написан
pro100chel
@pro100chel
Python && PHP Developer
И там и там.

Если хранить только в редисе то есть вероятность что что-то пойдет не так и редис потеряет все данные, т.к. все-таки оперативная память не самое надежное место хранения данных. В таком случае пользователь будет вводить верный код, а в ответ получать сообщение о том, что код неверный. Тогда пользователь будет думать что разработчики дауны и сервис полный кал. По себе говорю. Это самое бесящее что может быть. Это из разряда капчи на яндексе, которую ты приходишь верно, а тебя вертят на шапмуре.

Поэтому редис в таком случае должен выступать в роли кеша. Если в редисе нет данных о коде смс, то мы идем в мускул для того чтобы убедиться в том что данных о коде смс нет в нашей системе.

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

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

Войти через центр авторизации
Похожие вопросы