27八/090
玩玩 MySQL 更新 Memcached (2) Memcached 服务器
现在准备两台 Memcached 服务器, 使用超简单模式安装配置:
wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz tar zxf libevent-1.4.12-stable.tar.gz cd libevent-1.4.12-stable/ ./configure --prefix=/usr make sudo make install cd .. wget http://memcached.googlecode.com/files/memcached-1.4.0.tar.gz tar zxf memcached-1.4.0.tar.gz ./configure --prefix=/usr make sudo make install
安装完毕! 启动 Memcached 服务:
sudo memcached -d -m 64 -u root -l 192.168.2.95 -p 11211 -c 64 -P /tmp/memcached.pid
检查一下是否起来:
ps auxf | grep memcached
关闭 Memcached 服务:
sudo kill `cat /tmp/memcached.pid`
Memcached 启动参数参考:
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,我这里是64MB
-u 是运行Memcache的用户,我这里是root
-l 是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.2.95,
-p 是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c 选项是最大运行的并发连接数,默认是1024,我这里设置了64,按照你服务器的负载量来设定,
-P 是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
2台 Memcached 服务器都按此配置即可. 注意启动 memcached 的时候监听IP地址不同. 最后贴一下测试脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <?php /** * Memache test Script * * @author guya * @version 1.0 */ /** * print message * * @param string $str message content * @return void */ function p($str = '') { echo '<h3>'.$str.'</h3>'; } // start test p('start memcache test'); //the memcache host ip address $memHost = '192.168.2.95'; //$memHost = '192.168.2.96'; //the memache host port $memPort = 11211; //test key value $testKey = 'mmkey'; //create memcahce client boject $mem = new Memcache(); //connect to memcache server if(!$mem->connect($memHost, $memPort)) { p('Can not connect memcache server: ' . $memHost . ':' . $memPort); exit(); } /** else { //print the memcache server status p('memcache server status: ' . $mem->getServerStatus($memHost, $memPort)); //print the memache server information $stats = $mem->getStats(); if(is_array($stats)) { foreach($stats as $k => $v) { p('Server setting key: ' . $k . ' => value: ' . $v); } } } //*/ //get the test key value p('Test Data: key: ' . $testKey . ' => value: ' . $mem->get($testKey)); //update key value $mem->set($testKey, $memHost . ' - Updated at - ' . time()); //get data from memcache again p('Test Data get again: key: ' . $testKey . ' => value: ' . $mem->get($testKey)); p('test end! ^o^'); |