Na platformie programistycznej buforowanie może być uciążliwe. Czy mogę to wyłączyć? Czy wpłynie to na którykolwiek z modułów, które tego wymagają?
Zainstaluj moduł devel, który dodaje opcję czyszczenia pamięci podręcznej dla administratorów. Znajdziesz blok programistyczny, który możesz dodać do regionu w celu szybkiego wyczyszczenia pamięci podręcznej lub jeśli zainstalujesz menu administratora i zobaczysz szybkie menu w lewym górnym rogu do czyszczenia różnych pamięci podręcznych w Drupal.
Jeśli podoba Ci się wiersz poleceń, zainstaluj drush i użyj drush cc all
polecenia, aby wyczyścić pamięć podręczną witryn. Uważaj, że obecnie Drush cc nie wyczyści pamięci podręcznej Varnish, jeśli dotyczy to twojej konfiguracji.
Jeśli korzystasz z Drupal 7, zawsze możesz ustawić buforowanie na używanie DrupalFakeCache, które zwykle używane jest tylko podczas procesu instalacji. Aby to ustawić, upuść następujący fragment kodu w pliku settings.php:
include_once(DRUPAL_ROOT . '/includes/cache.inc');
include_once(DRUPAL_ROOT . '/includes/cache-install.inc');
$conf['cache_default_class'] = 'DrupalFakeCache';
Strona „Wydajność” w administracji> konfiguracja strony pozwoli ci włączyć / wyłączyć buforowanie wybranych elementów strony. Szablony motywów są zwykle buforowane bardziej trwale, ale można je opróżniać na tej samej stronie „wydajności”.
Moduł „Menu administracyjne” zapewni skrót na pasku narzędzi, jeśli opróżnianie pamięci podręcznej musi być wykonywane częściej - podczas tworzenia motywów ciągle się opróżniam.
O ile mi wiadomo, nie ma żadnych modułów wymagających buforowania. Jeśli nie chcesz go wyłączać, możesz wyczyścić go w Site Settings > Performance
sekcji.
Nawet przy wyłączonym buforowaniu Drupal nie rozpozna nowych plików dodanych do motywów, dopóki nie wyczyścisz pamięci podręcznej.
Istnieje kilka informacji na temat różnych sposobów wyczyszczenia pamięci podręcznej na Drupal.org
Oprócz wymienionych przez Steve'a metod , użycie modułu Devel otwiera jeszcze kilka opcji, w tym:
Gdy moduł Devel i buforowanie są wyłączone w obszarze Wydajność , jedyną dużą pamięcią podręczną, na którą napotkasz podczas rutynowego programowania, jest router menu, który można odbudować za pomocą Devel lub menu administratora, jak wspomniał Steve.
Jedną ważną rzeczą do zapamiętania jest to, że jeśli masz wiele arkuszy stylów (z motywu lub z modułów), to wyłączenie optymalizacji plików CSS może uszkodzić twoją witrynę w IE.
Chociaż tak naprawdę nie buforuje, znajduje się na tej samej stronie ustawień i jest często używany z buforowaniem.
Nawiasem mówiąc, link „Opróżnij wszystkie pamięci podręczne” w module menu administratora jest fantastyczny.
Jeśli używasz Drupala 6, moduł „ Wyłącz pamięć podręczną ” może być przydatny do tego zadania, jeśli nie chcesz [z jakiegoś powodu] instalować cięższych modułów, takich jak Devel.
źródło
Stare pytanie, ale właśnie zobaczyłem, że pojawiło się jako powiązane z wyszukiwaniem, które przeprowadzałem.
Prawie wszystkie metody czyszczenia pamięci podręcznej kończą na końcu wywoływanie drupal_flush_all_caches . Możesz bawić się, wywołując to w różnych okolicznościach we własnym kodzie.
źródło
Ilość skrzynek używanych z Drupalem czasami może zwariować.
Oto typowe metody wyłączania i czyszczenia pamięci podręcznych Drupal i związane z nimi.
WYŁĄCZANIE PAMIĘCI:
Pamiętaj, że nie możesz wyłączyć wszystkich pamięci podręcznych, ponieważ niektóre z nich są wymagane przez Drupala.
Oto metoda wyłączenia pamięci podręcznej przez dodanie następujących wierszy do pliku ustawień:
Jeśli wyłączysz wszystkie swoje pamięci podręczne, twoja strona będzie działała bardzo wolno, więc nie jest to zalecane w żadnym innym środowisku wyłączającym twoją maszynę programistyczną.
CZYSZCZENIE DANYCH
XCache
Wyczyść pamięć podręczną XCache, jeśli jest używana:
Lub wyczyść pamięć podręczną w XCache w panelu administracyjnym (/ xcache-admin), jeśli powyżej nie będzie działać.
eAccelerator
APC
OPCache
Wyczyść PHP OPCache, jeśli używasz z PHP> = 5.5
Uwaga: powyższe polecenie CLI nie wyczyści pamięci podręcznej dla Apache, zgodnie z: Opcache - Wyczyść pamięć podręczną w PHP5.4 i starszych wersjach .
memcached
Jeśli używasz memcached, powinieneś wyczyścić, zrestartować lub zabić memcached jedną z metod:
Jako użytkownik (jeden z tych):
Jako root (jeden z tych):
Zaleca się również zainstalowanie modułu memcached z następującym wierszem w pliku ustawień:
Tak więc pamięci podręczne Memcached są czyszczone na standardowej pamięci podręcznej Drupal.
Lakier
Jeśli używasz Varnish, zalecamy zainstalowanie modułu Varnish i ustawienie następującej linii w pliku ustawień:
Tak więc pamięć podręczna lakieru zostanie wyczyszczona razem na czystej pamięci podręcznej Drupala.
Alternatywnie możesz użyć curl do ręcznego czyszczenia stron:
Czytaj więcej: Jak mogę wyczyścić pamięć podręczną Varnish?
Drupal
Wyczyść pamięć podręczną Drupal poprzez drush:
Możesz zrobić to samo w / admin / config / development / performance, ponieważ czasami pamięci podręczne interfejsu użytkownika są czyszczone w lepszy sposób niż z interfejsu CLI.
Oto przydatny skrypt powłoki do czyszczenia wszystkich pamięci podręcznych:
źródło
możemy użyć jednej z następujących metod, aby wyczyścić pamięć podręczną w Drupal
1.) Możemy po prostu odwiedzić adres URL twoja_domena / admin / config / development / performance i kliknąć przycisk wyczyść pamięć podręczną.
2.) Jeśli mamy zainstalowany moduł drush, możemy wyczyścić pamięć podręczną za pomocą tego polecenia drush cc all .
3.) Jeśli mamy dostęp do bazy danych, możemy wyczyścić pamięć podręczną za pomocą następujących poleceń (bezpośredni dostęp do produkcyjnej bazy danych nie jest zdecydowanie zalecany; zamiast tego użyj jednej z alternatyw, jeśli Twoja witryna jest „aktywna”)
Pamięć podręczna TABELI ŚCIENNEJ;
TRUNCATE TABLE cache_block;
TRUNCATE TABLE cache_bootstrap;
TRUNCATE TABLE cache_field;
TRUNCATE TABLE cache_filter;
TRUNCATE TABLE cache_form; // zauważ ważne różnice w stosunku do innych tabel cache_ * - zobacz więcej informacji poniżej
TRUNCATE TABLE cache_image;
TRUNCATE TABLE cache_menu;
TRUNCATE TABLE cache_page;
TRUNCATE TABLE cache_path;
TRUNCATE TABLE cache_token;
TRUNCATE TABLE cache_update;
4.) Możemy również napisać zapytanie w naszym pliku modułu db_query („DELETE FROM {cache};”);
5.) Możemy użyć interfejsu API drupal do czyszczenia pamięci podręcznej, jak cache_clear_all ()
6.) Możemy również wyczyścić pamięć podręczną, instalując moduł deweloperski i włączając moduł deweloperski / programistyczny. W ten sposób możemy wyczyścić pamięć podręczną
Więcej informacji na temat cache_form, który ma inny cel niż inne tabele cache_ :
podstawowe dokumenty API dla drupal_flush_all_caches () mówią: „Nie usuwaj cache_form - przesyłane formularze w toku mogą się zepsuć”. Dotyczy to tylko witryn z aktywnymi użytkownikami, a nie wersji rozwojowych.
inne ręczne metody czyszczenia pamięci podręcznej opisane w tym poście nie wpłyną na cache_form
jeśli chcesz zmniejszyć rozmiar cache_form w witrynie produkcyjnej, zobacz Rozmiar tabeli Cache Form jest ogromny
źródło