function process_item($i)
{
    $name = $i;
    $content = sendMemcacheCommand("get {$i}");
    if (isset($content['VALUE'])) {
        $size = $content['VALUE'][$i]['stat']['size'];
        global $total_size;
        $total_size += $size;
    } else {
        $size = "?";
    }
    return array("size" => $size, "key" => $i);
}
Beispiel #2
0
function flushServer($server)
{
    list($host, $port) = explode(':', $server);
    $resp = sendMemcacheCommand($host, $port, 'flush_all');
    return $resp;
}
Beispiel #3
0
function flushServer($server)
{
    list($host, $port) = get_host_port_from_server($server);
    $resp = sendMemcacheCommand($host, $port, 'flush_all');
    return $resp;
}
Beispiel #4
0
function dumpCacheSlab($server, $slabId, $limit)
{
    list($host, $port) = explode(':', $server);
    $resp = sendMemcacheCommand($host, $port, 'stats cachedump ' . $slabId . ' ' . $limit);
    return $resp;
}
Beispiel #5
0
        echo "<tr><td>", $theserver, "</td><td>", $theKey, " <br/>flag:", $r['VALUE'][$theKey]['stat']['flag'], " <br/>Size:", bsize($r['VALUE'][$theKey]['stat']['size']), "</td><td>", chunk_split($r['VALUE'][$theKey]['value'], 40), "</td>", '<td><a href="', $PHP_SELF, '&op=5&server=', (int) $_GET['server'], '&key=', base64_encode($theKey), "\">Delete</a></td>", "</tr>";
        echo <<<EOB
            </tbody></table>
            <hr/>
EOB;
        break;
    case 5:
        // item delete
        if (!isset($_GET['key']) || !isset($_GET['server'])) {
            echo "No key set!";
            break;
        }
        $theKey = htmlentities(base64_decode($_GET['key']));
        $theserver = $GLOBALS['MEMCACHE_SERVERS'][(int) $_GET['server']];
        list($h, $p) = explode(':', $theserver);
        $r = sendMemcacheCommand($h, $p, 'delete ' . $theKey);
        echo 'Deleting ' . $theKey . ' : ' . $r;
        break;
    case 6:
        // flush server
        $theserver = $GLOBALS['MEMCACHE_SERVERS'][(int) $_GET['server']];
        $r = flushServer($theserver);
        echo 'Flush  ' . $theserver . " : " . $r;
        break;
    case 7:
        // flush stats
        $theserver = $GLOBALS['MEMCACHE_SERVERS'][(int) $_GET['server']];
        $r = flushStats($theserver);
        echo 'Stats reset ' . $theserver . " : " . print_r($r, true);
        break;
    case 8:
Beispiel #6
0
        }
    }
    return $res;
}
$server = $_GET['server'];
$port = $_GET['port'];
if ($server == '') {
    $server = 'localhost';
}
if ((int) $port == 0) {
    $port = 11211;
}
$stats = sendMemcacheCommand($server, $port, "stats");
$stats = $stats['STAT'];
// calc the amount of memory designated to items of certain size
$stats_slabs = sendMemcacheCommand($server, $port, "stats slabs");
$stats_slabs = $stats_slabs['STAT'];
$slabs = array();
$below1mb = 0;
$below200k = 0;
$below50k = 0;
$below4k = 0;
$below1k = 0;
$below400b = 0;
foreach ($stats_slabs as $name => $value) {
    $parts = explode(':', $name);
    $slabs[$parts[0]][$parts[1]] = $value;
}
foreach ($slabs as $slab => $values) {
    if ($values["chunk_size"] <= 400) {
        $below400b += $values["total_pages"] * 1024 * 1024;