Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。
首先需要先安装libevent,memcached是基于libevent做为事件触发的
wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/usr/local/libevent
make && make install
接下来安装memecahed:
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
tar zxvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make && make install
安装php扩展模块memcache:
wget http://pecl.php.net/get/memcache-2.2.6.tgz
tar xzvf memcache-2.2.6.tgz
cd memcache-2.2.6
/usr/local/php/bin/phpize -----执行phpize扩展安装程序,如果没有安装phpize 运行yum install php-devel
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
make && make install
安装成功会有类似下面的提示
Installing shared extensions: /usr/local/php/lib/php/extensions/xxxxxxx。。。
在php.ini文件,在zend之前加入如下代码:
[memcache]
extension_dir = "/usr/local/php/lib/php/extensions/xxxxxxxx"
extension=memcache.so
启动memcached:
/usr/local/memcached/bin/memcached -d -u root -m 1024 -p 11211 -c 10240
如果php运行环境是apache需要重启apache,如果是nginx需要重启php这样能重新加载php配置文件来支持 memcache
启动参数说明:
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,默认64MB
-M return error on memory exhausted (rather than removing items)
-u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户。
-l 是监听的服务器IP地址,默认为所有网卡。
-p 是设置Memcache的TCP监听的端口,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024
-P 是设置保存Memcache的pid文件