Изменение размера изображения и кэширование в Laravel - PullRequest
0 голосов
/ 18 октября 2018

Когда я загрузил изображение (пример: user/1/user_profile_img.jpg), я хочу, чтобы интервенционное изображение создавало несколько размеров миниатюр (100x100, 200x200, 400x400 и т. Д.), Эти размеры будут использоваться на разных страницах для улучшенияоценка скорости страниц.

Стоит ли хранить разные размеры миниатюр (100x100, 200x200, 400x400 и т. д.) в пользовательской папке /cache/?как '/cache/user/1/user_profile_img-100x100.jpg'?

или я генерирую их при посещении страницы с маршрутом изменения размера кэша изображений вмешательства, например:

{{ route('photos/item/100x100/userprofile/user_profile_img.jpg') }}

в шаблоне blade.php?

Route::get('photos/item/{size}/{reference}/{photo}', 'ImgController@showImg');

Я видел, что в функции Intervention Image Cache есть параметр 'lifetime (optional)':

$img = Image::cache(function($image) {
   $image->make('public/foo.jpg')->resize(300, 200)->greyscale();
}, 10, true);

Время жизни в минутах обратного вызова изображения в кэше.

Предназначено ли оно для установки срока действия кэша изображений?

Будет ли изображение автоматически удаляться из папки /cache/?

1 Ответ

0 голосов
/ 18 октября 2018

Должен ли я сохранять эскизы разных размеров [...] или генерировать их при посещении страницы [...]?

Изменение размера изображений может занять много времени относительнона продолжительность типичного веб-запроса.Если скорость важна для вас, я бы определенно рекомендовал сохранять измененные версии при первоначальной загрузке изображения, либо во время самого запроса на загрузку, либо в задании, которое отправляется действием контроллера загрузки.

Если вы используетефункции кэширования пакета Intervention позволяют вам получить страницы, которые часто нужно «разогревать», если изображения с измененным размером не кэшировались в последнее время.Однако это будет зависеть от ваших шаблонов трафика, используемой реализации кеша и продолжительности кеша.Если вы попробуете это, и, похоже, оно будет работать для вашего случая использования, то в этом нет ничего плохого.

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