我已成功为memcache
配置了magento
会话,但它运行正常。现在我想通过使用memcache对象从magento本身刷新memcache会话。
我试过了
$memcache = new Memcache();
$memcache->flush();
$memcache->flush_all();
$memcache->delete(arguments);
但从上面来看,没有什么对我有用。
我能够从命令行刷新所有会话,但不能从脚本中执行。我在这里使用ubuntu
作为操作系统。
任何帮助将不胜感激。
答案 0 :(得分:1)
尝试使用:
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会话(如果有的话)。