Memcached::get
(PECL memcached >= 0.1.0)
Memcached::get — 检索一个元素
说明
public mixed Memcached::get
( string $key
[, callback $cache_cb
[, float &$cas_token
]] )
Memcached::get()返回之前存储在key
下的元素。如果元素被找到,并且提供
了cas_token
参数, 这个参数(译注:这个参数在函数定义中是引用参数,用来传出元素的版本标记,原理
可以查阅乐观锁资料)将会包含该元素的CAS标记值。关于CAS标记值的使用,请查看Memcached::cas()的说明。
另外,可以通过cache_cb
参数设置Read-through caching callback。
参数
key
要检索的元素的key。
cache_cb
通读缓存回掉函数或NULL
.
cas_token
检索的元素的CAS标记值。
返回值
返回存储在服务端的元素的值或者在其他情况下返回FALSE
。
如果key不存在,Memcached::getResultCode()返回Memcached::RES_NOTFOUND
。
范例
Example #1 Memcached::get() 示例 #1
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->set('foo', 100);
var_dump($m->get('foo'));
?>
以上例程会输出:
int(100)
Example #2 Memcached::get() 示例 #2
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
if (!($ip = $m->get('ip_block'))) {
if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
$ip = array();
$m->set('ip_block', $ip);
} else {
/* log error */
/* ... */
}
}
?>
参见
Memcached::getByKey() - 从特定的服务器检索元素 Memcached::getMulti() - 检索多个元素 Memcached::getDelayed() - 请求多个元素