Я заметил, что Laravel читает файлы с диска перед каждым рендерингом. Можно ли как-то кэшировать содержимое представления в память и визуализировать представление, не считывая его из файла?
Я не хочу кэшировать визуализированный вид, но загружаю файл вида (.blade) из памяти перед его рендерингом.
Edit:
Судя по ответам, полученным на других форумах, загрузка файлов просмотра из памяти имеет ограниченные преимущества, поскольку файловая система уже имеет механизм кэширования.
Ответ с форума Laracast
Когда вы вызываете представление из вашего приложения, Laravel скомпилирует
шаблон лезвия в PHP и кешировать содержимое в
хранилище / рамки / представления, так что последующие запросы для того же
содержание не нужно перекомпилировать шаблон.
Я не знаю, как в рамках можно настроить представление
кеш для использования альтернативы в кеш-памяти, такой как Redis.
Я был бы удивлен, если бы дисковый ввод-вывод вызван чтением представлений с диска
может вызвать огромное количество дискового ввода-вывода, но есть такие инструменты, как iostat
и pidstat, который вы можете использовать, чтобы определить, является ли это узким местом для
вы.
Одним из возможных решений было бы смонтировать папку кеша представления как
отдельная точка монтирования tmpfs
mount -t tmpfs -o size = 128M tmpfs / your / path / storage / framework / views
Это временно примонтирует папку в памяти (с максимальным размером
128Mb, который вы можете настроить). если вы хотите сделать это постоянным
необходимо добавить в / etc / fstab по ссылке выше.
Не стесняйтесь пробовать, но, честно говоря, IMO вы ограничены
выгоды.