尝试使用:
Mage::app()->getCacheInstance()->flush();
它清理缓存存储,包括 memcached 数据。我正在使用 memcache,这是我清理缓存数据的 shell 脚本:
ini_set("display_errors", 1);
require '../app/Mage.php';
Mage::app('admin')->setUseSessionInUrl(false);
Mage::getConfig()->init();
try {
Mage::app()->cleanCache(); // Clean Magento caches
Mage::app()->getCacheInstance()->flush(); // Clean cache storage
echo "\033[01;31m Cache instances were flushed successfully \033[0m \n";
flush();
} catch (Exception $e) {
echo "\nAn error was occurred: " . $e->getMessage() . "\n";
flush();
}
它正在清理内存缓存存储。Memcache 默认使用一个存储来存储缓存和会话。如果要从当前 memcached 会话中删除所有数据,请使用类(或某些子类)Mage_Core_Model_Session_Abstract_Varien。有一个方法 unsetAll 从会话中删除所有数据。该方法还会清除 memcached 会话(如果有)。