Contents

用memcache时候,有时候想要看的全面一点。

如何遍历memcache
stats命令
memcache的stats命令包括:

1
2
3
4
5
6
7
8
9
stats
stats reset
stats malloc
stats maps
stats sizes
stats slabs
stats items
stats cachedump slab_id limit_num
stats detail [on|off|dump]

一、用程序的方法,以PHP语言为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$host='localhost';
    $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 "<p>";
          }
      }
    }

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

二、终端下用telnet 查看及设置清空某值,或者某个值的memcache的变量

参考:http://www.cnblogs.com/sunli/archive/2008/11/01/1324153.html

Contents