当我们的php编译后,发现没有memcache的模块?
但是我们需要用到memcache模块,怎么搞? 重新编译将memcache模块加上? nononon!
首先下载安装好memcache。
memcache
memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著 。这是一套开放源代码软件,以BSD license授权发布。
MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
memcache的安装:
解压完memcache后,首先你会发现没有configure,此时需要一个命令phpize(/usr/local/php/bin/phpize),安装autoconf工具(yum install autoconf -y
)
执行/usr/local/php/bin/phpize,此时可以发现已经有configure,直接
./configure
接下来执行make
和 make install
此时就安装成功!
添加php的memcache模块
首先编辑php的主配置文件:/usr/local/php/lib/php.ini
添加memcache模块:
此时 reload php后再次查看memcache模块:
成功添加!此方法适用于添加其他模块。
mencache+php
mencache的解压包里自带了两个php页面:
memcach.php(监控)和example.php(测试页)
首先安装memcached(服务)
yum install memcached -y
此服务监听的是11211端口:
修改memcache.php(监控页)
修改用户名密码为admin:westos
使用浏览器进行访问:172.25.5.1/memcache.php
输入用户密码后成功访问:
对example.php进行访问:
刷新几次页面,在看刚才访问的监控页面:
可以看到,在刷新的过程中,命中了memcache的缓存。