Быстрое решение для кэширования PHP - PullRequest
0 голосов
/ 14 сентября 2011

Я настраиваю систему поиска автомобилей, которая соответствует продуктам. Данные, которые мы получаем от поисковой компании, мы можем хранить только в течение 24 часов. Я думаю, что хранить его в базе данных может быть слишком много проблем. Это общий аккаунт 1and1. Я думал об использовании PHP Sessions и просто сохранял его как массив в сессии, используя регистрационную табличку в качестве идентификатора сессии.

Таким образом, сборщик мусора должен гарантировать, что я не буду хранить его более 24 часов. Будет ли это работать и есть ли какие-либо недостатки?

Ответы [ 3 ]

1 голос
/ 14 сентября 2011

Сессии уникальны для каждого клиента, взаимодействующего с сайтом.Клиент может получить доступ только к информации, которую он помещает в сеансы, а не к кому-либо другому.Так что сессия не будет работать в этом случае.Я бы сказал, использовать memcache, но вы, вероятно, не можете сделать это на общей учетной записи 1and1.Я бы порекомендовал базу данных с полем «expires».Вы можете настроить cron на периодический запуск (т. Е. Каждые 15 минут) для удаления записей, срок действия которых истек.

0 голосов
/ 14 сентября 2011

Хранение данных в базе данных mysql и для проверки кэширования. Лак или Кальмар

0 голосов
/ 14 сентября 2011

Как сообщил Брент, было бы лучше сохранить его в базе данных с отметкой времени и периодически запускать cron для удаления просроченных записей.

Но если вы не хотите использовать базу данных, вы также можете сохранитьизвлеченные данные в простые файлы в папке.

Просто укажите имена файлов в качестве регистрационных номеров и сохраните в них данные.Затем в cron вы можете проверить filemtime и удалить файлы старше 24 часов.

Одна вещь, которую следует отметить с помощью filemtime, заключается в том, что информация о файле кэшируется PHP.Таким образом, если вы повторно получите данные и просто измените данные файла (вместо удаления и повторного создания файла), старый mtine будет возвращен.Чтобы избежать этого, используйте clearstatcache в вашем cron, а также в вашем скрипте, если вы обновляете данные для существующего файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...