Saya mengotomatisasi konfigurasi rilis dengan bootstrapage Mage di beberapa skrip rilis. Di akhir skrip, saya perlu membersihkan cache Magento.
Apakah ada cara untuk membersihkan cache menggunakan salah satu Mage
kelas atau metode?
Saya mengotomatisasi konfigurasi rilis dengan bootstrapage Mage di beberapa skrip rilis. Di akhir skrip, saya perlu membersihkan cache Magento.
Apakah ada cara untuk membersihkan cache menggunakan salah satu Mage
kelas atau metode?
Jawaban:
Silakan coba kode berikut untuk membersihkan cache secara terprogram
Mage::app()->cleanCache()
atau
Mage::app()->getCacheInstance()->flush();
Jika Anda benar-benar menginginkannya, Anda juga dapat membersihkan hanya satu atau lebih tipe cache. Ini sebenarnya cara admin mengerjakannya. DibawahMage_Adminhtml_CacheController::massRefreshAction
Anda dapat melihat bahwa ia melewati semua parameter types
dan memanggil yang berikut
$tags = Mage::app()->getCacheInstance()->cleanType($type);
Mage::dispatchEvent('adminhtml_cache_refresh_type', array('type' => $type));
$updatedTypes++;
Jenis yang mungkin adalah sebagai berikut:
Dan ini dapat dikembalikan dengan menelepon Mage::app()->getCacheInstance()->getTypes()
Skrip eksternal cepat untuk menghapus semua cache:
<?php
require_once './app/Mage.php';
umask(0);
Mage::app('default');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
try {
$allTypes = Mage::app()->useCache();
foreach($allTypes as $type => $value) {
Mage::app()->getCacheInstance()->cleanType($type);
Mage::dispatchEvent('adminhtml_cache_refresh_type', array('type' => $type));
echo "{$type} </br>";
}
echo 'done';
} catch (Exception $e) {
echo $e->getMessage();
}
Kami bisa menggunakan n98-magerun . Terutama karena Anda tidak boleh mem-flush cache selama eksekusi skrip penempatan. Lihat juga sys:setup:incremental
sub perintah untuk eksekusi skrip pengaturan Magento yang lebih terkontrol.
Jika Anda Benar-benar perlu menghapus semua penyimpanan cache berarti menggunakan kode berikut,
Mage::app()->getCacheInstance()->flush();
Di sini fungsi Flush memanggil fungsi cache magento default, Jika Anda memerlukan lebih banyak klarifikasi berarti merujuk url berikut.