Предварительно кэшировать изображения Magento - PullRequest
1 голос
/ 05 августа 2011

Веб-сайт, который мы разрабатываем, загружает продукт с первого раза.Я предполагаю, что в это время Magento кэширует все изображения, которые предоставляются пользователю (всего 6, начиная с довольно большого разрешения 2400 x 1200).

Мое предположение основано на том факте, чтоВ следующий раз, когда я загружаю продукт после очистки локального кэша, продукт и изображения загружаются намного быстрее.

Простое решение для меня - посетить каждый продукт один раз, это не идеально в случае, если у нас естьочистить кэш изображений по тем или иным причинам.

Я уверен, что могу написать скрипт, который будет предварительно кэшировать каждое изображение, но мне интересно, есть ли встроенный механизм для чего-то подобного?

Ответы [ 2 ]

1 голос
/ 20 декабря 2013

У меня была аналогичная потребность в предварительном кэшировании или, по крайней мере, восстановлении кэша после очистки.Для этого нет ничего встроенного, поэтому я написал быстрый и грязный скрипт для анализа xml-файла sitemap и сканирования сайта из командной строки ... тем самым заставляя magento генерировать кэш изображений для всех страниц.

Сценарий предполагает, что у вас есть sitemap.xml в том же каталоге.Он предназначен для запуска из командной строки за пределами веб-корня.

<?php

ini_set("memory_limit","500M");
ini_set('max_execution_time', 600);

$d = file_get_contents('sitemap.xml');

$data = @new SimpleXMLElement($d);

$cnt = count($data);

$i = 1;
foreach ($data as $row) {
  $url = $row->loc;
  echo "$i of $cnt : $url \n";
  $buffer = file_get_contents($url);
  $buffer = '';
  flush();
  $i++;
}
1 голос
/ 05 августа 2011

Поскольку страница остается быстрой после очистки локального кэша, вы должны заботиться о кэше сервера.Ответ здесь - изображения с измененным размером уже сохранены отдельно в обычный кэш, в media/catalog/product/cache вместо var/cache/.Если вы посмотрите в Система> Управление кэшем , то увидите, что есть отдельная кнопка для очистки только этих изображений, поэтому, если вам действительно не нужно, избегайте нажатия этой кнопки.

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