Индекс Magento и кеш. Нужны ли мне оба? - PullRequest
2 голосов
/ 29 февраля 2012

Я разрабатываю модуль импорта, который обновляет данные о продукте. Чтобы ускорить процесс, я перевел индекс в ручной режим.

$processes = Mage::getSingleton('index/indexer')->getProcessesCollection();
$processes->walk('setMode', array(Mage_Index_Model_Process::MODE_MANUAL));
$processes->walk('save');

и после завершения импорта я переиндексирую данные и возвращаю режим индекса в автоматический режим

$processes = Mage::getSingleton('index/indexer')->getProcessesCollection();
$processes->walk('reindexAll');
$processes->walk('setMode', array(Mage_Index_Model_Process::MODE_REAL_TIME));
$processes->walk('save');

Но я не уверен, нужно ли мне очищать кеш. Поэтому мой вопрос - как связаны индекс и кеш. Например, если я очищаю кеш, он также переиндексирует все данные? А на другом сайте, если я переиндексирую все данные, очищается ли кеш? Или мне нужно каждый раз запускать оба процесса, если у меня установлен индексный режим на ручной? Я не совсем уверен в этом, надеюсь, кто-нибудь наверняка подтвердит это.

Спасибо

1 Ответ

1 голос
/ 29 февраля 2012

Magentos System -> Cache Managment и System -> Index Managment являются автономными функциями.Если вы перестроите такой индекс, независимо от того, будет ли он работать с бэкэндом или напрямую с помощью reindexAll(), Magento не автоматически обновит любой кэш и наоборот.

Ответ на Do I need both? (кэши ииндексы): это зависит.

Если вы используете Magento с включенными кэшами COLLECTION_DATA и / или EAV, вы должны обновить эти кэши после импорта и переиндексации данных продукта.

Обновление необходимо, потому что ваш импортер обновил / вставил данные продукта, о которых кеши не знают, но нет, потому что вы переиндексировали.

Если вы используете Magento с отключенными всеми кешами, вы неМне нужны оба.Технически нет необходимости обновлять отключенный кеш.Magento будет медленнее, конечно, но все же будет полностью функциональным.

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