Istnieje sposób wyłączenia pamięci podręcznej z menu System->Cache Management
.Magento wyłącz pamięć podręczną z bazy danych
Jak mogę zrobić to samo bez wchodzenia na stronę, używając zapytania SQL bazy danych?
Istnieje sposób wyłączenia pamięci podręcznej z menu System->Cache Management
.Magento wyłącz pamięć podręczną z bazy danych
Jak mogę zrobić to samo bez wchodzenia na stronę, używając zapytania SQL bazy danych?
Najprostszym sposobem, aby wyłączyć pamięć podręczną jest za pomocą zapytania SQL:
UPDATE `core_cache_option` SET value=0;
i jasny folderu cache dla pewności:
rm -rf <YOUR SITE PATH HERE>/magento/var/cache/*
w Magento Enterprise Edition trzeba także wyczyścić katalog full_page_cache (dzięki Bartoszowi Górskiemu):
rm -rf [YOUR SITE PATH HERE]/magento/var/full_page_cache/*
jeśli nie chcesz, aby zalogować się do serwisu tylko skorzystać z poniższego skryptu, aby umożliwić
<?php
$mageFilename = 'app/Mage.php';
require_once $mageFilename;
umask(0);
Mage::app('admin');
Mage::app()->cleanAllSessions();
Mage::app()->getCacheInstance()->flush();
Mage::app()->cleanCache();
$types = Array(
0 => 'config',
1 => 'layout',
2 => 'block_html',
3 => 'translate',
4 => 'collections',
5 => 'eav',
6 => 'config_api',
7 => 'fullpage',
8=>'config_api2'
);
$allTypes = Mage::app()->useCache();
$updatedTypes = 0;
foreach ($types as $code) {
if (!empty($allTypes[$code])) {
$allTypes[$code] = 0;
$updatedTypes++;
}
$tags = Mage::app()->getCacheInstance()->cleanType($code);
}
if ($updatedTypes > 0) {
Mage::app()->saveUseCache($allTypes);
echo "Caches disabled Programmatically";
}
else {
echo "Caches disabled Already";
}
prostu stworzyć własny scenariusz i swoją wolę zrobić ze swojej strony cache
nadzieję, że to będzie na pewno pomóc .
działa idealnie ale, dodać 1 wartość tablicową dla 8 => 'config_api2'to wyłączyć całą pamięć podręczną ... @ Liyakat –
Dziękuję @liyakat, nie próbował skryptu, ale znalazłem najłatwiejszy sposób wyłączenia pamięci podręcznej przez uruchomienie jednego zapytania UPDATE. – Kostanos
Utworzono skrypt powłoki, aby włączyć, wyłączyć i/lub wyczyścić pamięć podręczną magento. brzmi ono niezbędne parametry (DBHost, itd.) z etc/local.xml ...
Można go pobrać z mojego github GIST: https://gist.github.com/seangreen/d9557726b479e066d71f
Rzeczywiste zapytania mysql są takie:
Wyłącz Cache: mysql -h $DBHOST -u $DBUSER -p$DBPASS -e "UPDATE core_cache_option SET value=0;" $DBNAME
Włącz cache: mysql -h $DBHOST -u $DBUSER -p$DBPASS -e "UPDATE core_cache_option SET value=1;" $DBNAME
A po wyłączeniu lub enablin g dobrze jest wyczyścić cache: rm -rf var/cache/*
Jeśli nadal korzystać z domyślnego systemu plików brzydko cache (AKA architektoniczne facepalm tłumik) można zauważyć w pamięci podręcznej plik o nazwie: Mag --- 687_CORE_CACHE_OPTIONS i plik o nazwie: mag --- wewnętrzne-metadata --- 687_CORE_CACHE_OPTIONS. Jest pod magiem - 4, jeśli trzymasz się wartości domyślnych.
Nie ma potrzeby opróżniania całej witryny, jeśli konieczne jest tylko usunięcie 2 z nich. Najlepiej zrobić to po prostu poprosić Magento, aby je usunął, ponieważ możesz mieć XCache lub dla profesjonalistów kompletny obszar przestrzeni dyskowej, który nie zawiera sql-db.
Mag :: app() -> cleanCache (tablica ('MAGE'));
Za pomocą: Mage :: app() -> saveUseCache ($ cacheSettings); nie jest potrzebny, usunie go automatycznie.
Tak więc, tylko "rm -rf var/cache /" będzie działać w systemie NOOB. I może zawiesić system Magento, ale szanse są bardzo niskie. Potrzebny jest do tego duży ruch i możesz to zrobić przy domyślnym systemie buforowania systemu plików.
Myślę, że twoja odpowiedź jest poza temat. Chodzi o wyłączenie całej pamięci podręcznej, a nie o spłukiwanie. Mimo wszystko dziekuję. – Kostanos
Uhhmm, USTAWIENIA KĄPIELI SĄ ZATRZYMANE! (Może pewnego dnia otworzysz plik 'CORE_CACHE_OPTIONS') –
Oto prosty fragment kodu, które mogą być wykorzystane w skrypcie konfiguracji, aby włączyć lub wyłączyć pojedyncze typy cache:
$cacheOptions = Mage::app()->useCache();
// disable full page cache:
$cacheOptions['full_page'] = 0;
// enable block cache:
$cacheOptions['block_html'] = 1;
Mage::app()->saveUseCache($cacheOptions);
Można patrzeć rodzaje pamięci podręcznej w tabeli bazy core_cache_option:
mysql> select * from core_cache_option;
+-------------+-------+
| code | value |
+-------------+-------+
| block_html | 1 |
| collections | 1 |
| config | 1 |
| config_api | 1 |
| config_api2 | 1 |
| eav | 1 |
| full_page | 0 |
| layout | 1 |
| translate | 1 |
+-------------+-------+
9 rows in set (0.00 sec)
, witamy, +1. dobrze znać ten nowy pomysł. – liyakat
+1 dla łatwiejszej odpowiedzi –
W Magento Enterprise Edition, gdy chcesz usunąć pliki pamięci podręcznej, musisz również wyczyścić katalog full_page_cache: rm -rf [katalog_główny_sieci]/var/full_page_cache/* –