(PECL memcache >= 0.2.0)
Memcache::get — 从服务端检回一个元素
$key
, int &$flags
= ?
) : string$keys
, array &$flags
= ?
) : array
如果服务端之前有以key
作为key存储的元素,Memcache::get()方法此时返回之前存储的值。
你可以给Memcache::get()方法传递一个数组(多个key)来获取一个数组的元素值,返回的数组仅仅包含从 服务端查找到的key-value对。
key
要获取值的key或key数组。
flags
如果给定这个参数(以引用方式传递),该参数会被写入一些key对应的信息。这些标记和Memcache::set()方法中的同名参数 意义相同。用int值的低位保留了pecl/memcache的内部用法(比如:用来说明压缩和序列化状态)。(译注:最后一位表明是否序列化,倒数第二位表明是否经过压缩, 比如:如果此值为1表示经过序列化,但未经过压缩,2表明压缩而未序列化,3表明压缩并且序列化,0表明未经过压缩和序列化,具体算法可查找linux文件权限算法相关资料)
返回key
对应的存储元素的字符串值或者在失败或key
未找到的时候返回false
。
示例 #1 Memcache::get() 示例
<?php
/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');
/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');
/*
你同样可以使用数组key作为参数,如果某个元素没有在服务端发现,结果数组中将不会包含这些key。
*/
/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));
/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));
?>