以下所有操作都是在Red-hat 6.5上
1.Memcache的介绍
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。
它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。本质上,它是一个简洁的key-value存储系统。
一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现)
2.memcache的实现
yum remove `rpm -qa | grep php` #删除原有的冲突的包
tar zxf memcache-2.2.5.tgz #解压下载的memcache文件
cd memcache-2.2.5 #进入目录下
phpsize #php编译以后,拓展模块。(如果不扩展模块,就没有编译的过程!)
./configure
make
make install #编译
cd /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/
ls
php -m | grep memcache #检测memcache模块是否拓展
cd /usr/local/lnmp/php/etc/
vim php.ini #将memcache的拓展写到ini文件中
870 extension=memcache.so #这一步很重要
/etc/init.d/php-fpm reload #重新读取配置文件
yum install memcached.x86_64 -y #安装memcache软件
/etc/init.d/memcached start #开启memcache服务
netstat -ant |grep 11211 #测试memcache的端口11211是否存在
cd memcache-2.2.5
cp example.php /usr/local/lnmp/nginx/html/ #测试脚本
cp memcache.php /usr/local/lnmp/nginx/html/ #测试脚本
cd /usr/local/lnmp/nginx/html/
ls
vim example.php
vim memcache.php
22 define('ADMIN_USERNAME','admin'); // 登录名
23 define('ADMIN_PASSWORD','redhat'); // 登录密码
28 $MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // add more as an array
29 $MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // add more as an array
/etc/init.d/memcached reload #重新读取配置文件