简介:
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。
如果你想要在你的PHP应用程序中使用Memcached,你得先在你的服务器上安装Memcached。
下面是安装步骤:
一、安装Memcached:
cd /usr/local/src
wget -c http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar vxzf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --prefix=/usr/local/memcached
make
make install
安装完成后,直接启动Memcached:
cd /usr/local/memcached/bin
./memcached -d -m 128 -p 11211 -u www
参数说明:
-d选项是启动一个守护进程
-m分配给Memcache使用的内存数量,单位是MB,我这里是10MB
-u运行Memcache的用户,我这里是root
-l监听的服务器IP地址,如果有多个地址的话
-p设置Memcache监听的端口,比如11211,最好是1024以上的端口
-c最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定
-P设置保存Memcache的pid文件,比如 /tmp/memcached.pid
如果要结束Memcache进程,执行:
kill `cat /tmp/memcached.pid`
将Memcached 设定为开机启动:
echo /usr/local/memcached/bin/memcached -d -m 128 -p 11211 -u www' >> /etc/rc.local
二、安装memcache PHP支持模块:
Memcache PHP支持模块需要libevent支持,先确认是否安装:
wget -c http://monkey.org/~provos/libevent-2.0.10-stable.tar.gz
tar zxvf libevent-2.0.10-stable.tar.gz
cd libevent-2.0.10-stable/
./configure --prefix=/usr
make
make install
cd ../
安装Memcache PHP 支持模块
cd /usr/local/src
wget -c http://pecl.php.net/get/memcache-2.2.6.tgz
tar vxzf memcache-2.2.6.tgz
cd memcache-2.2.6
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-apxs=/usr/local/apache/bin/apxs
--with-gettext
--enable-socket
--enable-memcache
--enable-sysvshm
--enable-shmop
make
make install
安装完后会有类似这样的提示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/configure: error:
You've configured extension memcache, which depends on extension session,
but you've either not enabled session, or have disabled it.
添加编译参数 --disable-memcache-session
三、修改php.ini 支持Meecache:
编辑php.ini文件,直到以下代码:
extension_dir = "./"
修改为:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
并在以下添加:
extension=”memcache.so”
现在,Memcached正式安装完毕,做一个测试脚本看看是否正式启动吧~
<?php
$mem = new Memcache;
$mem->connect("服务器IP地址",11211);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
#Success good luck for you!