Как правильнее удалять устаревшие сессий из базы данных?

В базе данных хранятся id сессий.
Как правильнее удалять устаревшие записи из БД?

Сейчас есть идея удалять их через крон, раз в сутки запускать скрипт, который удалит все записи старше одного дня.
Но такие движки, как joomla, wp, и т.д. не используют крон, как они удаляют устаревшие записи в бд?
  • Вопрос задан
  • 944 просмотра
Решения вопроса 1
Разве в mysql нет функционала периодического запуска кода по расписанию? Вроде Event Scheduler
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
alsopub
@alsopub
Никто не мешает движку "изредка" удалять старые сессии при генерации очередной запрошенной страницы.
Это не очень хорошо, но возможно, однако лучше делать по расписанию.
Ответ написан
Комментировать
@mletov
Но такие движки, как joomla, wp, и т.д. не используют крон

Drupal использует крон. Другой вопрос, настоящий ли это крон или просто раз в x часов при заходе очередного юзера на сайт в php коде выполняются запланированные задачи.
Ответ написан
dmitriylanets
@dmitriylanets
веб-разработчик
в таблице сессии хранится дата создания записи, при посещении страниц сайта удаляются все которые старше определенного времени (текущее время - интервал), интервал регулируется (2ч,6ч, 1д и т.д). Такая схема используется в Codeigniter.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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