2015-08-15 15 views
5

Czy ktoś może wyjaśnić w słowach początkujących, co oznacza warming up pamięć podręczną po jej wyczyszczeniu?Co to jest rozgrzewanie wyczyszczonej pamięci podręcznej?

W Symfony2, jest polecenie, które umożliwia wyczyszczenie pamięci podręcznej:

php app/console cache:clear 

Ale czasami podczas instalacji niektórych pakietów, instalacja próbuje wyczyścić pamięć podręczną i gdy nie powiodła się, to rzuca się ostrzeżenie mówiąc:

Nie można wyczyścić pamięci podręcznej za pomocą --warmup.

Dlaczego wyczyścić pamięć podręczną podczas instalacji pakietu? I dlaczego się rozgrzewa? Twoje zwykłe wyjaśnienia są bardzo cenne.

Odpowiedz

5

Celem jest, aby zainicjować żadnej pamięci podręcznej, które będą potrzebne przy zastosowaniu i zapobiec pierwszego użytkownika z jakiegokolwiek znaczącego „cache przeboju” gdzie cache jest generowana dynamicznie.

z http://symfony.com/doc/current/reference/dic_tags.html#kernel-cache-warmer

Realu przykład światowej: Pan podać kilka statystyk, które muszą być przechowywane tak można napisać swoją własną usługę, która zostanie wywołana na kernel.cache_warmer przypadku wykonywania tej czynności „statycznie”.

+4

Niestety, twoja odpowiedź jest poprawna i wskazuje właściwą dokumentację, ale nie są to słowa początkujące. Będziemy wdzięczni, jeśli dokonasz edycji, aby początkujący mogli łatwo zrozumieć, co to jest ta pamięć podręczna wśród dziesiątek 'cache'ów, o których słyszymy. Jakieś bardziej proste linki? Dziękuję za poświęcony czas i zrozumienie. –

7

Podgrzewanie pamięci podręcznej ma na celu wygenerowanie nowej pamięci podręcznej dla aplikacji. Kiedy więc użytkownik prosi o otwarcie strony aplikacji, może odczytać dane z wygenerowanej pamięci podręcznej i oddać ją w zamian.

Czyszczenie pamięci podręcznej to dosłownie czyszczenie starej pamięci podręcznej. Jeśli wykonujesz czyszczenie pamięci podręcznej i nie nagrzewasz się, kiedy pojawi się nowe żądanie, aplikacja wykona wszystkie zadania, których potrzebuje, aby pobrać dane i wygenerować nową pamięć podręczną, a następnie zwróci wynik. Jeśli pamięć podręczna została wcześniej rozgrzana, zostanie zwrócona bezpośrednio, więc będzie to znacznie szybsza odpowiedź.

Podczas instalowania nowego pakietu ... Zainstalujesz nowy pakiet, aby użyć go w aplikacji. Zmieniasz więc kod źródłowy, na przykład rejestrując pakiet jako usługę, wywołując tę ​​usługę ze swoich kontrolerów na przykład i tego typu rzeczy. Ale poprzednio wygenerowana pamięć podręczna nie wie o tych zmianach. Dlatego pamięć podręczna powinna zostać oczyszczona i wygenerowana ponownie (rozgrzana), aby uwzględnić zmiany. Myślę, że nie jest to głęboka odpowiedź, ale staram się dać to proste wyjaśnienie.

+0

To jest najszczersze, czego szukałem w czasie OP. Dzięki \ –

+0

To jest lepiej wyjaśnione :) – felipsmartins

Powiązane problemy