Magento 2: Яка різниця між Cache Clean & Cache Flush?


23

У Magento 2 у нас є 2 команди

php bin/magento cache:flush
php bin/magento cache:clean

Яка точна різниця між ними? Я, як правило, використовую cache:flush. Я ніколи не використовував cache:clean. Отже, коли використовувати яку команду та в якій ситуації?

Відповіді:


29

Щоб очистити застарілі елементи з кешу, ви можете очистити або промити типи кешу:

  • Очищення типу кешу видаляє всі елементи лише з включених типів кеша Magento. Іншими словами, ця опція не впливає на інші процеси чи програми, оскільки вона очищає лише кеш, який використовує Magento.

    Інвалідні типи кешу не очищаються.

  • Промивання типу кешу очищає сховище кешу, що може вплинути на інші додатки процесів, які використовують ту саму пам’ять.

Очистіть типи кешу, якщо ви вже намагалися очистити кеш і у вас все ще виникають проблеми, які ви не можете ізолювати.

Джерело: https://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-cache.html#config-cli-subcommands-cache-clean


1
Чи можу я знати, які є інші додатки для процесів, які використовуватимуть кеш-пам'ять Magento.
Джая чандра

Ви можете ввімкнути продуктивність у Magento, налаштувавши Налаштування Redis для кеш-пам’яті, Налаштування Memcached для кешування сеансу та Налаштування лаку як кеш на повній сторінці (Це детально роз'яснено у Magento 2 Cook Book від Ray Bogman). Інші програми в сенсі, якщо у вас є один Redis або будь-який інший сервер, який працює і налаштований з більш ніж одним Magento або будь-якими іншими програмами. Запуск Flush видалить усі файли + файли, але при запуску очищення файли будуть видалені окремо в \ Magento \ var \ cache dir.
Бала Варадараджан

11

php bin / magento cache: чистий

Очищення типу кешу видаляє всі елементи лише з включених типів кеша Magento. Іншими словами, ця опція не впливає на інші процеси чи програми, оскільки вона очищає лише кеш, який використовує Magento.

Інвалідні типи кешу не очищаються.

php bin / magento cache: flush

Промивання типу кешу очищає сховище кешу, що може вплинути на інші додатки процесів, які використовують ту саму пам’ять.

Довідка: DevDocs Керування кешем


Дякую @Rafael Отже, що краще і коли використовувати?
Анкіт Шах

Залежить, але я віддаю перевагу кеш: ясно
Рафаель Корреа Гомес

Я намагався створити порожній файл у var / cache, і він не був видалений жодною з цих команд, як ви згадали. Але спасибі за це все одно.
Рікардо Мартінс

@RicardoMartins це тому, що вам потрібно створити такий файл, як var / cache / mage - test-martines
Rafael Corrêa Gomes

Ця відповідь є протилежною обраної відповіді Якщо я маю рацію
Патрік ван Ефферен

2

Цитуючи для цього Фабрізіо Бранку :

(...) Magento, який в першу чергу йде з цими двома різними діями (ви також знайдете дві кнопки на сторінці кешування кеш-пам'яті).

У той час як кеш: clean видаляє сховище кешу за допомогою кешу тегів: flush видалить усе.

Тут є дві основні відмінності:

  • деякі речі зберігаються в кеші без відповідних тегів. кеш: очистити їх не видалить.
  • інші речі можуть використовувати одне і те ж сховище кешу (це не рекомендується, але, на жаль, іноді це так). Промивання кешу призведе до того, що все буде видалено. Отже, якщо кілька екземплярів Magento використовують одне і те ж сховище кешу або якщо ви зберігаєте свої сеанси в тій самій базі даних Redis, яку ви використовуєте для кешу (будь ласка, не! :), вони також не зникнуть.

1

php bin / magento cache: чистий

Очищення типу кешу видаляє всі елементи лише з включених типів кеша Magento. Іншими словами, ця опція не впливає на інші процеси чи програми, оскільки вона очищає лише кеш, який використовує Magento.

Інвалідні типи кешу не очищаються.

php bin / magento cache: flush

Промивання типу кешу очищає сховище кешу, що може вплинути на інші додатки процесів, які використовують ту саму пам’ять.


0

Використовуючи bin/magento cache:cleanви можете вказати (розділені комами) типи кешу, які потрібно очистити.

Підтримувані типи:

config, layout, block_html, collections, reflection, db_ddl, eav,
customer_notification, target_rule, full_page, config_integration,
config_integration_api, translate, config_webservice

Це можна зробити і з кеша: flush. Див. Devdocs.magento.com/guides/v2.3/config-guide/cli/… .
Рікардо Мартінс

0

У той час як cache:cleanвидалення пам’яті кеша за тегами cache:flushвсе знищить.

Тут є дві основні відмінності:

деякі речі зберігаються в кеші без відповідних тегів. кеш: очистити їх не видалить. інші речі можуть використовувати одне і те ж сховище кешу (це не рекомендується, але, на жаль, іноді це так). Промивання кешу призведе до того, що все буде видалено. Отже, якщо кілька екземплярів Magento використовують одне і те ж сховище кешу або якщо ви зберігаєте свої сеанси в тій самій базі даних Redis, яку ви використовуєте для кешу (будь ласка, не! :), вони також не зникнуть.

Джерело: https://github.com/netz98/n98-magerun/isissue/588#issuecomment-112453280

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.