Промывка REDIS Cache

Ответы:

12

Кнопка «Очистить кэш Magento» будет очищать записи кэша только на основе их тегов. Это использует Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAGрежим при вызове clean в бэкэнде кэша.

Кнопка «Очистить кэш-память» Zend_Cache::CLEANING_MODE_ALLочистит всю резервную копию кеша (там, где это поддерживает бэкэнд), используя режим при вызове clean для бэкенда кеша.

Cm_Cache_Backend_Redis делает различие между этими двумя режимами и правильно обрабатывает их обоих.

Что происходит в Redis, когда «Cache Storage» очищается:

1380734058.807909 [0 127.0.0.1:61926] "flushdb"

То, что происходит в Redis, когда «Magento Cache» очищается, выглядит примерно так ...

1380733999.123304 [0 127.0.0.1:61889] "sunion" "zc:ti:541_MAGE"
1380733999.127239 [0 127.0.0.1:61889] "multi"
1380733999.127294 [0 127.0.0.1:61889] "del" "zc:k:541_APP_E4D52B98688947405EDE639E947EE03D" "zc:k:541_CORE_CACHE_OPTIONS" ... etc ...
1380733999.127493 [0 127.0.0.1:61889] "del" "zc:ti:541_MAGE"
1380733999.127523 [0 127.0.0.1:61889] "srem" "zc:tags" "541_MAGE"
1380733999.127547 [0 127.0.0.1:61889] "exec"
1380733999.128596 [0 127.0.0.1:61889] "sunion" "zc:ti:541_CONFIG"
1380733999.131160 [0 127.0.0.1:61889] "multi"
1380733999.131192 [0 127.0.0.1:61889] "del" "zc:k:541_CONFIG_GLOBAL_ADMIN" "zc:k:541_ENTERPRISE_LOGGING_CONFIG" ... etc ...
1380733999.131360 [0 127.0.0.1:61889] "del" "zc:ti:541_CONFIG"
1380733999.131379 [0 127.0.0.1:61889] "srem" "zc:tags" "541_CONFIG"
1380733999.131397 [0 127.0.0.1:61889] "exec"

Вы заметите, что в первой из них Redis обрабатывает одну команду, а в последнем примере два префикса кэша используются для удаления всех связанных записей кэша. Исходя из того, что я вижу здесь (и в коде), оба префикса '541_MAGE' и '541_CONFIG' сбрасываются в отдельных обращениях к бэкенду кэша, а конфигурация сразу же следует за другим.

davidalger
источник
Единственное, что я не проверил, это то, что flushddb правильно очищает обе базы данных, но я думаю, что можно предположить, что это так, поскольку у меня не было проблем с этим
davidalger
Вы можете использовать flushallдля всего или flushdbдля отдельной базы данных.
Стив Роббинс
9

Я создал модуль, который позволит вам делать больше массовых операций от администратора. Нажатие «Flush DB» фактически выполнит flushdbкоманду.

введите описание изображения здесь

Загрузить: https://github.com/steverobbins/Magento-Redismanager

В противном случае вы должны использовать командную строку, чтобы очистить их "полностью"

Стив Роббинс
источник
2

Чтобы на самом деле ответить на ваш вопрос: «Будет ли любая из кнопок FLUSH REDIS?»

ДА ответ, вы можете очистить кеш Magento через администратора. Вы также можете flushdb из командной строки, но это был не ваш вопрос ...

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

Вы также должны иметь

mprototype
источник