Skip to content

Instantly share code, notes, and snippets.

@blongden
Created March 16, 2012 16:22
Show Gist options
  • Star 13 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save blongden/2050845 to your computer and use it in GitHub Desktop.
Save blongden/2050845 to your computer and use it in GitHub Desktop.
Single page website to show statistics on a redis server
<?php
$fp = fsockopen('127.0.0.1', 6379, $errno, $errstr, 30);
$data = array();
if (!$fp) {
die($errstr);
} else {
fwrite($fp, "INFO\r\nQUIT\r\n");
while (!feof($fp)) {
$info = split(':', trim(fgets($fp)));
if (isset($info[1])) $data[$info[0]] = $info[1];
}
fclose($fp);
}
?>
<html>
<head>
<title>Redis statistics</title>
<style type="text/css">
body {
font-family: arial,sans-serif;
color: #111;
}
div.box {
background-color: #DFA462;
width: 200px;
height: 200px;
text-align: center;
margin: 6px;
float: left;
}
div.key {
font-weight: bold;
font-size: 42px;
}
div.detail {
text-align: left;
}
div.detail span {
width: 90px;
padding: 2px;
display: inline-block;
}
div.detail span.title {
text-align: right;
}
</style>
</head>
<body>
<div class='box'>
<div>Percentage hits</div>
<div class='key'><?php echo round($data['keyspace_hits'] / ($data['keyspace_hits'] + $data['keyspace_misses']) * 100)."%";?></div>
<div class='detail'>
<span class='title'>Hits</span>
<span><?php echo $data['keyspace_hits']; ?></span>
</div>
<div class='detail'>
<span class='title'>Misses</span>
<span><?php echo $data['keyspace_misses']; ?></span>
</div>
</div>
<div class='box'>
<div>Memory usage</div>
<div class='key'><?php echo $data['used_memory_human'];?></div>
</div>
<div class='box'>
<div>Peak memory usage</div>
<div class='key'><?php echo $data['used_memory_peak_human'];?></div>
</div>
<div class='box'>
<div>Keys in store</div>
<div class='key'>
<?php
$values = split(',', $data['db0']);
foreach($values as $value) {
$kv = split('=', $value);
$keyData[$kv[0]] = $kv[1];
}
echo $keyData['keys'];
?>
</div>
</div>
</body>
</html>
@hydn79
Copy link

hydn79 commented Aug 29, 2013

This works beautifully! Any security risk of leaving it without password protection? eg. publicdomain.com/redis-stats.php

@rmalenko
Copy link

Great!

@martinfrances107
Copy link

Just a side note.... this code is broken for php 7.x

as split is removed in 7.0

http://php.net/manual/en/function.split.php

@luisdev
Copy link

luisdev commented May 22, 2019

An alternative version that seems to work in PHP 7.x : https://gist.github.com/kabel/10023961

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment