1.首先来看看memcache与memcached的区别:
Memcache是一个高性能的分布式的内存对象缓存系统,用于加速动态web应用程序,减轻数据库负载。Memcache官方网站:http://memcached.org/。
而Memcached是该系统的主程序文件,以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,使用共享内存存取数据。
PHP中的memcache是用于连接Memecached的客户端组件。
2.memcache与memcached的安装和启动:
php的memcache扩展安装:(首先需要下载好memcache的源码包)
- tar xvf memcache-3.0.3.tgz
- cd memcache-3.0.3
- (/usr/local/php/bin/)phpize
- ./configure --with-php-config=/usr/local/php5/bin/php-config --enable-memcache
- make&&make install
(下面是根据各自的环境不同设置不同)
编译出来的memcache.so保存在 /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ 目录下,如果你的环境不一样,你得根据自己情况修改你的php.ini了。
接着要做的工作就是让php加载这个扩展,编辑你的php.ini,在适当位置(通常是最后,也可以是独立的一个ini文件)加入如下行:
extension=memcache.so
接着重启nginx或者apache等服务器,打开phpinfo的网页查看memcache的信息,到这里php的memcache扩展已经安装完成了。
memcached的安装:
由于memcached依赖libevent来处理很多的连接,所以需要先确定libevent是否已经安装,如果libevent没有安装的话,需要先把libevent的包下载下来(需要下载稳定包)
cd /tmp
tar zxvf libevent-1.4.7-stable.tar.gz
cd libevent-1.4.7-stable
./configure --prefix=/usr
make &&make install
安装memcached(先下载memached源码)
cd /tmp
tar zxvf memcached-1.4.7.tar.gz
cd memcached-1.4.7
./configure --with-libevent=/usr
make&&make install
启动memcached
/usr/local/bin/memcached -d -m 2048 -u root -l 192.168.1.20 -p 12111 -c 1024 -P /tmp/memcached.pid
参数说明:
- -d 启动为守护进程
- -m <num> 分配给Memcached使用的内存数量,单位是MB,默认为64MB
- -u <username> 运行Memcached的用户,仅当作为root运行时
- -l <ip_addr> 监听的服务器IP地址,默认为环境变量INDRR_ANY的值
- -p <num> 设置Memcached监听的端口,最好是1024以上的端口
- -c <num> 设置最大并发连接数,默认为1024
- -P <file> 设置保存Memcached的pid文件,与-d选择同时使用
简单的测试用例:
< ?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;
?>