1、Memcache用到了libevent(这个库用于Socket的处理),需要安装libevent:
(1)tar zxvf libevent.tar.gz 后进入解压后的文件夹
(2)./configure --prefix=/usr/lib
(3)make && make install
(4)测试libevent是否安装成功:ls -al /usr/lib | grep libevent
2、安装memcached,同时需要安装中指定libevent的安装位置:
(1)tar zxvf memcached.tar.gz
(2) ./configure --with-libevent=/usr/bin
(3)make && make install
(4)安装完成后会把memcached放到 /usr/local/bin/memcached,测试是否成功安装memcached:
(5)安装Memcache的PHP扩展:
在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本
a、tar zxvf memcache.tgz
b、cd memcache
c、/usr/local/webserver/php/bin/phpize (Linux下利用phpize安装php扩展)
d、./configure --enable-memcache --with-php-config=/usr/local/webserver/php/bin/php-config --with-zlib-dir
e、make && make install
3、上述安装完后会有类似这样的提示:
Installing shared extensions: "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525"
4、在php.ini中添加一行来载入memcache扩展:
extension=memcache.so
5、启动和停止Memcache的服务器端:
启动Memcache进程:
/usr/local/bin/memcached -d -m 200 -u root -l 1270.0.01 -p 11211-c 1
相关解释如下:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是200MB
-u是运行Memcache的用户,我这里是root
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.1.91
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
停止Memcache进程:
# kill `cat /tmp/memcached.pid` 也可以启动多个守护进程,但是端口不能重复
6、重启apache:service apache restart
7、测试Memcache:
< ?php
$mem = new Memcache;
$mem->connect(”127.0.0.1″, 11211);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
//结果是:This is a test!