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

Какие данные можно хранить в кэше, а какие лучше в бд?

Добрый день!

Задался вопросом, какие данные стоит хранить в кэше (memcached), а какие лучше в базе данных?
Понятное дело, что пароль точно не стоит хранить в кэше :)

Простой пример - нужно сгенерировать код авторизации который будет действителен, например, 5 минут.
Есть два варианта решения:
1. Записать код авторизации в кеш указав срок - 5 минут.
2. Записать код авторизации и время создания в бд, и по крону проверять актуальность (либо в момент вызова, но тут возможно захламление старыми кодами, и опять же придётся чистить кроном)

1-ый вариант выглядит самым симпатичным, но правильно ли будет такая реализация?

Поделитесь другими примерами)
  • Вопрос задан
  • 394 просмотра
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Хранят данные только в базе.
В кэше данные не хранят. Вообще. "Хранить данные в кэше" - это оксюморон. Кэш - это противоположность хранилищу. Хранилище гарантирует наличие данных, а кэш не гарантирует ничего, и при отсутствии данных лезет в хранилище.

Кэш служит для ускорения доступа к данным, а не для их хранения
Ответ написан
Комментировать
2ord
@2ord
В memcached стоит хранить (короткоживущие) пользовательские сессии. Сессии не хранят пароли, а только сгенерированные идентификаторы.
Пароли нужны серверу только на этапе идентификации пользователя.
Кроме того, читай ответ FanatPHP .
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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