装了一下memcached分布式缓存,需要注意的地方不多,本文记录一下。主要参照
平凡的世界写的博文
首先是命名的东西:
memcache——apt-get中不存在这个包,如果指php5-memcache,则是包含了memcache.so的包
memcached——指服务端的daemon。如果指php5-memcached,则此包包含了memcached.so
memcachedb——一个分布式的键值持久化存储系统
libmemcached——memcached的客户端库,包含了libmemcached.so
如果我们要搭建服务端,则服务端必须安装
apt-get install memcached
客户端要则必须安装
apt-get install libapache2-mod-php5 php5-memcache
这次客户端是用php使用memcached,所以在/etc/php5/conf.d/memcache.ini中已经表明了扩展文件memcache.so
服务端用了两个机器,ip分别是10.1.1.11和10.1.1.12
各自在两个机器上使用
memcached -d -m 10 -u root -l 10.1.1.11 -p 12345 -c 256 -P /tmp/memcached.pid
memcached -d -m 10 -u root -l 10.1.1.11 -p 12346 -c 256 -P /tmp/memcached.pid
memcached -d -m 10 -u root -l 10.1.1.12 -p 12345 -c 256 -P /tmp/memcached.pid
在客户端侦测是否启用了memcache扩展,则使用phpinfo()函数
在客户端简单使用memcache做个试验
<?php
$mem = new Memcache;
$mem->addServer("10.1.1.11", 12345);
$mem->addServer("10.1.1.11", 12346);
$mem->addServer("10.1.1.12", 12345);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
$status = $mem->getExtendedStats();
print_r($status);
$mem->set('name', 'lzy', 0, 60);
$name = $mem->get('name');
echo $name;
?>