memcached 安装与应用

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

Leave a Reply

Your email address will not be published. Required fields are marked *