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 для кэширования сеанса и настройку Varnish в качестве полностраничного кэша (это подробно объясняется в книге рецептов Magento 2 Рэя Богмана). Другие приложения в смысле, если у вас есть один Redis или любой другой сервер, работающий и настроенный с несколькими Magento или любыми другими приложениями. При запуске Flush удаляются все каталоги + файлы, но при запуске clean удаляются только файлы в каталоге \ 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
Рафаэль Корреа Гомес
Этот ответ противоположен выбранному ответу Если я прав
Патрик ван Эфферен
2

Цитирую Фабрицио Бранку для этого:

(...) Magento, который идет с этими двумя различными действиями в первую очередь (вы также найдете две кнопки на странице управления кешем).

В то время как cache: 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
yaronish
источник
Вы можете сделать это с помощью cache: flush. См. Devdocs.magento.com/guides/v2.3/config-guide/cli/… .
Рикардо Мартинс
0

Пока cache:cleanудаляет кеш-память по тэгам cache:flush, сотрет все.

Здесь есть два основных различия:

некоторые вещи хранятся в кеше без соответствующих тегов. кеш: чистый не удалит тех. другие вещи могут использовать ту же самую кэш-память (это не рекомендуется, но, к сожалению, иногда это так). Очистка кеша приведет к удалению всего. Так что, если несколько экземпляров Magento используют одно и то же хранилище кеша или если вы храните ваши сеансы в одной и той же базе данных redis, которую вы используете для кеша (не надо! :), то они также исчезнут.

Источник: https://github.com/netz98/n98-magerun/issues/588#issuecomment-112453280

nikin
источник