以下代码工作正常:
$memcached = new Memcached();
$memcached->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE);
$memcached->setOption(Memcached::OPT_DYNAMIC_POLLING_INTERVAL_SECS, 60);
$memcached->addServer('etc.expalp.cfg.apse1.cache.amazonaws.com', 11211);
$memcached->set('tester', 'set tester...babe!!', 600);
echo $memcached->get('tester');
但是,我想将对象的创建移到一个类中(因为设置了更多设置,我不希望每个页面都包含这些设置)。我尝试了以下方法,但它不起作用:
$elasticache = new elasticache();
$elasticache->memcached->set('tester', 'set tester...babe!!', 600);
echo $elasticache->memcached->get('tester');
然后我有一个名为 elasticache 的类(加载了 spl_autoload_register),如下所示:
class elasticache {
function __construct() {
$memcached = new Memcached();
$memcached->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE);
$memcached->setOption(Memcached::OPT_DYNAMIC_POLLING_INTERVAL_SECS, 60);
$memcached->addServer('etc.expalp.cfg.apse1.cache.amazonaws.com', 11211);
}
}
失败了,所以很明显我在这里做错了什么。注意:Memcached() 对象是一个 PHP 动态库 - 请注意,这很重要)。任何人都有任何想法 - 我第一次尝试这个。