Проблемы с кешем в php (Laravel)

Мы создаем веб-API, используя Laravel в качестве серверной части, сразу же после того, как наш сервер перестал отвечать, затем мы проверили, что наш кэш-файл вышел за пределы пространства нашего сервера. Я удивился и удивился, поэтому здесь я хочу узнать от эксперта, что, почему это случилось с нами, происходит потому, что мы используем тяжелые видеофайлы (видео с конференций мы используем веб-RTC в передней части)?? или есть еще какие-то проблемы, может случиться?? Пожалуйста, выскажите свое мнение, чтобы мы могли отслеживать проблемы и немедленно решать их, чтобы этого не произошло в будущем. заранее спасибо

1 ответ

Из документации Laravel:

По умолчанию Laravel настроен на использование драйвера файлового кэша, который хранит сериализованные кэшированные объекты в файловой системе. Для более крупных приложений рекомендуется использовать более надежный драйвер, такой как Memcached или Redis.

Если вы используете файловый драйвер, лучше всего перейти на более надежный драйвер, такой как Redis, Memcached, Varnish и т. Д.

Относительно того, почему ваш файл кэша занимал больше места на сервере, может быть несколько причин:

  1. Вы можете кэшировать вещи бесконечно, используя что-то вроде Cache::forever и не удаляя элементы для кэша впоследствии с Cache::forget
  2. Вы можете кэшировать тяжелые элементы: например, большие запросы к базе данных, тяжелые просмотры / ответы, тяжелый контент файлов и т. Д.
  3. Или есть небольшая вероятность того, что трафик вашего API резко вырос, и вам действительно нужно обновление аппаратного обеспечения:)

Я не уверен, есть ли способ (для файлового драйвера) выяснить, какие ключи занимают больше всего места в кеше, но если вы переключитесь на redis или же memcached В течение некоторого времени кеш-драйвером вы можете легко указать размер кеша, сгруппированного по ключу кеша, и выяснить, какие тяжелые элементы ваш код на самом деле кеширует!

Другие вопросы по тегам