原始出处 http://iceeggplant.blog.51cto.com/1446843/819576
memcached是高性能的,分布式的内存对象缓存系统,在动态应用中减少数据库负载,提升访问速度。php关于memcached的扩展方式有两种:一种memcache,一种memcached。
为什么要装php关于memcached扩展
memcached的1.2.4及以上增加了CAS(Check and Set)协议,对于同一key的多进程的并发处理问题。这种情况其实和数据库很像,如果同时有几个进程对同一个表的同一数据进行更新的话,那会不会打架呢。数据库里面可以锁定整张表,也可以锁定表里面一行的功能,其实memcached加入的CAS与此差不多。
php的扩展memcache,不支持cas,所以我们要装memcached扩展,memcached扩展是基于libmemcached,所以要先安装libmemcached。
1.memcache服务端安装:
1)下载包libevent-1.4.14b-stable.tar.gz和memcached-1.4.5.ta.gz
2) libevent安装:如有则无须安装
tar zvxf libevent-1.4.14b-stable.tar.gz cd libevent-1.4.14b-stable ./configure --prefix=/usr //默认路径安装,默认目录/usr/local/lib make && make install
3) memcached服务端安装
tar zxvf memcached-1.4.5.tar.gz cd memcached-1.4.5 ./configure --prefix=/usr/local/memcache/ --with-libevent=/usr make & make install
启动:/usr/local/bin/memcached -d -m 512 -p 11211 -u root
-d启动守护进程,-m设置memcache使用的内存大小,-p 端口默认11211 -u以root用户启动进程。
如果想memcache服务开启启动,需要将上面启动指令添加到在/etc/rc.d/rc.local中最后一行。
2.php中memcache扩展安装
1)下载包 memcache-2.2.6.tgz
2)memcache-2.2.6.tgz安装
tar zxvf memcache-2.2.5.tgz cd memcache-2.2.5/ /usr/local/webserver/php/bin/phpize ./configure --with-php-config=/usr/local/webserver/php/bin/php-config make make install
2)memcache-2.2.6安装完成后,会弹出一句话,我的是/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/。在php.ini中查找extension_dir ,将其值修改为/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/。同时添加一句话extension = "memcache.so"。
至此,php中可以使用memcache扩展,如果使用memcached扩展,需要安装libmemcached,同时在php.ini中配置下。
1)下载包是libmemcached-1.0.18.tar.gz
2)libmemcached-1.0.18的安装
tar zvxf libmemcached-1.0.18.tar.gz cd libmemcached-1.0.18 ./configure --prefix=/usr/local/webserver/libmemcached --with-memcached make && make install
3)修改php的配置文件php.ini
加上模块extension=memcached.so 看看extension_dir指定的模块路径下是否有memcached.so文件.extension_dir一般是/usr/lib/php/modules/..... 如果没有看下是否在lib64下,ln -s做下软链接.如:
ln -s /usr/lib64/php/modules /usr/lib/php/modules