Opróżnianie pamięci podręcznej REDIS

Odpowiedzi:

12

Przycisk „Opróżnij pamięć podręczną Magento” opróżnia rekordy pamięci podręcznej tylko na podstawie ich znaczników. Używa tego Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAGtrybu podczas wywoływania clean na backendie pamięci podręcznej.

Przycisk „Opróżnij pamięć podręczną” opróżni cały podkład pamięci podręcznej (tam, gdzie obsługuje go backend), używając Zend_Cache::CLEANING_MODE_ALLtrybu podczas wywoływania clean na zapleczu pamięci podręcznej.

Cm_Cache_Backend_Redis robi różnicy między tymi dwoma trybami i prawidłowo obsługuje ich obu.

Co dzieje się w Redis po opróżnieniu pamięci „Cache Storage”:

1380734058.807909 [0 127.0.0.1:61926] "flushdb"

Co dzieje się w Redis po opróżnieniu „Magento Cache” wygląda mniej więcej tak ...

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"

Zauważysz, że w pierwszym jedno polecenie jest przetwarzane przez Redis w porównaniu z późniejszym przykładem, w którym dwa prefiksy pamięci podręcznej są używane do usunięcia wszystkich powiązanych rekordów pamięci podręcznej. W oparciu o to, co tu widzę (i w kodzie) zarówno prefiksy „541_MAGE”, jak i „541_CONFIG” są opróżniane w osobnych wywołaniach backendu pamięci podręcznej, a konfiguracja następuje bezpośrednio po drugim.

davidalger
źródło
Jedyne, czego nie zweryfikowałem, to to, czy flushddb prawidłowo czyści obie bazy danych, ale myślę, że można bezpiecznie założyć, że tak jest, ponieważ nie miałem z tym
problemu
Możesz użyć flushalldo wszystkiego lub flushdbdo pojedynczej bazy danych.
Steve Robbins
9

Stworzyłem moduł, który pozwoli ci wykonywać więcej operacji masowych od administratora. Kliknięcie „Flush DB” spowoduje wykonanie flushdbpolecenia.

wprowadź opis zdjęcia tutaj

Pobierz: https://github.com/steverobbins/Magento-Redismanager

W przeciwnym razie musisz użyć wiersza polecenia, aby opróżnić je „całkowicie”

Steve Robbins
źródło
2

Aby odpowiedzieć na twoje pytanie: „Czy którykolwiek z przycisków PŁUCZ REDIS?”

TAK jest odpowiedzią, możesz wyczyścić pamięć podręczną Magento za pośrednictwem administratora. Możesz także opróżnić z linii poleceń, ale to nie było twoje pytanie ...

Nie jestem pewien, dlaczego zostało to odrzucone ... jeśli poprawnie używasz redis do pamięci podręcznej w backendie, to zadziała.

Ty też powinieneś

mprototyp
źródło