@hesy

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

Добрый день!

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 13:31
10000 руб./за проект
19 апр. 2024, в 13:12
35000 руб./за проект
19 апр. 2024, в 13:06
6000 руб./за проект