Skip to content

Instantly share code, notes, and snippets.

@d3zorg
Last active December 11, 2015 04:58
Show Gist options
  • Save d3zorg/4549086 to your computer and use it in GitHub Desktop.
Save d3zorg/4549086 to your computer and use it in GitHub Desktop.
var_dump memcache keys
<?php
$server = "localhost";
$port = 11211;
function sendMemcacheCommand($server,$port,$command){
$s = @fsockopen($server,$port);
if (!$s){
die("Cant connect to:".$server.':'.$port);
}
fwrite($s, $command."\r\n");
$buf='';
while ((!feof($s))) {
$buf .= fgets($s, 256);
if (strpos($buf,"END\r\n")!==false){ // stat says end
break;
}
if (strpos($buf,"DELETED\r\n")!==false || strpos($buf,"NOT_FOUND\r\n")!==false){ // delete says these
break;
}
if (strpos($buf,"OK\r\n")!==false){ // flush_all says ok
break;
}
}
fclose($s);
return ($buf);
}
$string = sendMemcacheCommand($server, $port, "stats items");
$lines = explode("\r\n", $string);
$slabs = array();
foreach($lines as $line) {
if (preg_match("/STAT items:([\d]):/", $line, $matches) == 1) {
if (isset($matches[1])) {
if (!in_array($matches[1], $slabs)) {
$slabs[] = $matches[1];
$string = sendMemcacheCommand($server, $port, "stats cachedump " . $matches[1] . " 100");
echo "Slab # " . $matches[1] . "<br />";
preg_match_all("/ITEM (.*?) /", $string, $matches);
var_dump($matches[1]);
echo "<hr />";
}
}
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment