最近我思考了一下如何在PHP应用程序中使用getDelayed
和getMulti
以及它们之间的区别。
从阅读有关getDelayed
的文档中:
“该方法不等待响应,立即返回。当您准备好收集项目时,请调用Memcached::fetch或Memcached::fetchAll。”
显然,在有可用键之前需要调用fetchAll
,而不是像getMulti
那样。但实际上,什么时候进行实际的memcached调用呢?
在fetchAll
还是在运行getDelayed
时?
更新示例:
$this->memcached->set('int', 99);
$this->memcached->set('string', 'a simple string');
$this->memcached->set('array', array(11, 12));
$this->memcached->getDelayed(array('int'));
$this->memcached->getDelayed(array('string'));
$this->memcached->getDelayed(array('array'));
print("<pre>".print_r( $this->memcached->fetchAll() )."</pre>"); // returns the array element only.