目前,用到memcache的公司和网站也越来越多。Memcache的客户端操作一般都只提供了get,set等简单的操作,这些操作都是非常高效的。  虽然memcache是个key-value存储的系统,但是在某些时候,我们可能需要遍历memcache的数据。     

    PHP代码实现
$host='127.0.0.1';
$port=11211;
$mem=new Memcache();
$mem->connect($host,$port);

$items=$mem->getExtendedStats('items');
$items=$items["$host:$port"]['items'];
foreach($items as $key=>$values){
    $number=$key;
    $str=$mem->getExtendedStats ("cachedump",$number,0);
    $line=$str["$host:$port"];
    if( is_array($line) && count($line)>0){
        foreach($line as $key=>$value){
            echo $key.'=>';
            print_r($mem->get($key));
            echo "\r\n";
        }
    }

    由此可以实现查找memcache某个前缀的key的数据,或者查询某些value的key。甚至实现数据库的like功能。请注意:遍历memcache的操作并没有memcache的get操作那么高效。

    转自:http://blog.csdn.net/sunli1223/article/details/3193146