1

我已经成功配置memcache了会话magento并且它工作正常。现在我想通过使用 memcache 对象从 magento 本身刷新 memcache 会话。我努力了

$memcache = new Memcache();
$memcache->flush();
$memcache->flush_all();
$memcache->delete(arguments);

但从上面看,没有什么对我有用。

我可以从命令行刷新所有会话,但不能从脚本中完成。在这里,我ubuntu用作操作系统。

任何帮助将不胜感激。

4

1 回答 1

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 会话(如果有)。

于 2012-12-20T09:28:02.550 回答