1.去官网下载:www.memcached.org
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure
make
make install
2.配置:
/usr/local/bin/memcached -d -u nobody -m 512 -p 11211 127.0.0.1
会报错:
error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
这时需要:
使用LD_DEBUG=help ./memcached -v来确定 加载的类库路径,方法如下:
LD_DEBUG=libs ./memcached -v 2>&1 > /dev/null | less
参考:http://blogold.chinaunix.net/u2/70049/showart_1665279.html
看看少哪个
我这里是:
ln -s /usr/local/lib/libevent-1.4.so.2 /lib64/libevent-1.4.so.2
/usr/local/bin/memcached -d -u nobody -m 512 -p 11211 127.0.0.1
再去看看有没有启动端口!
netstat -anl |grep 11211
查看 telnet 127.0.0.1 11211
stats 看命中情况
KO!
查看memcache数据PHP代码:
function printDetails($status){
echo "<table border='1'>";
echo "<tr><td>Memcache Server version:</td><td> ".$status ["version"]."</td></tr>";
echo "<tr><td>Process id of this server process </td><td>".$status ["pid"]."</td></tr>";
echo "<tr><td>Number of seconds this server has been running </td><td>".$status ["uptime"]."</td></tr>";
echo "<tr><td>Accumulated user time for this process </td><td>".$status ["rusage_user"]." seconds</td></tr>";
echo "<tr><td>Accumulated system time for this process </td><td>".$status ["rusage_system"]." seconds</td></tr>";
echo "<tr><td>Total number of items stored by this server ever since it started </td><td>".$status ["total_items"]."</td></tr>";
echo "<tr><td>Number of open connections </td><td>".$status ["curr_connections"]."</td></tr>";
echo "<tr><td>Total number of connections opened since the server started running </td><td>".$status ["total_connections"]."</td></tr>";
echo "<tr><td>Number of connection structures allocated by the server </td><td>".$status ["connection_structures"]."</td></tr>";
echo "<tr><td>Cumulative number of retrieval requests </td><td>".$status ["cmd_get"]."</td></tr>";
echo "<tr><td> Cumulative number of storage requests </td><td>".$status ["cmd_set"]."</td></tr>";
$percCacheHit=((real)$status ["get_hits"]/ (real)$status ["cmd_get"] *100);
$percCacheHit=round($percCacheHit,3);
$percCacheMiss=100-$percCacheHit;
echo "<tr><td>Number of keys that have been requested and found present </td><td>".$status ["get_hits"]." ($percCacheHit%)</td></tr>";
echo "<tr><td>Number of items that have been requested and not found </td><td>".$status ["get_misses"]."($percCacheMiss%)</td></tr>";
$MBRead= (real)$status["bytes_read"]/(1024*1024);
echo "<tr><td>Total number of bytes read by this server from network </td><td>".$MBRead." Mega Bytes</td></tr>";
$MBWrite=(real) $status["bytes_written"]/(1024*1024) ;
echo "<tr><td>Total number of bytes sent by this server to network </td><td>".$MBWrite." Mega Bytes</td></tr>";
$MBSize=(real) $status["limit_maxbytes"]/(1024*1024) ;
echo "<tr><td>Number of bytes this server is allowed to use for storage.</td><td>".$MBSize." Mega Bytes</td></tr>";
echo "<tr><td>Number of valid items removed from cache to free memory for new items.</td><td>".$status ["evictions"]."</td></tr>";
echo "</table>";
}
$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
printDetails($memcache_obj->getStats()); |
来源:http://php.net/manual/en/memcache.getstats.php