memcache+php实现页面访问的加速

一、什么是memcache

   memcache是目前主流的一个高性能的分布式内存对象缓存系统;它以key-value形式在内存中存储数据。由于数据缓存在内存中,所以相比操作DB而言,它不需要解析SQL、磁盘I/O等开销,效率更高。通常用来减轻数据库负载,提升系统性能,或作为服务器之间数据共享的存储媒介,比如存储分布式session。

   工作过程:先查看客户端的请求数据是否在memcache中,若存在的话,直接把请求结果返回给客户端;若不在缓存中,则从后端数据库中获取响应数据包,同时把获取的响应数据包在memcache中保存一份(便于下一次直接再缓存中获取)。当分给memcache的内存用完之后,会使用LRU(Least Recently Used,最近最少使用策略)加上到期失效策略,失效策略先被替换,然后再替换掉最近未使用的数据。

二、memcache与memcached的区别

   memcache是通过客户端的请求来访问,是这个项目的名称;而memcached是服务器端的主程序文件名。

三、memcache的安装

   由于之前在server6中进行了php源码的安装,就继续在server6中实验。

   1)解压memcache软件包

   --->  tar zxf memcache-2.2.5.tgz

   2) 为了方便直接使用php的二进制命令,我们把之前编译好的php的二进制命令的绝对路径添加在环境变量中。

   --->  vim ~/.bash_profile

  

   --->  source  ~/.bash_profile        # 使添加的环境变量生效

   3)创建预编译环境并进行编译汇编memcache源码包。phpize用来扩展php模块的,可以在原来编译好的php中添加新的模块和功能。phpize的作用也可以检测环境(由于phpize是在php安装目录下的,所以使用phpize会根据php配置的情况产生与其相匹配的configure文件),建立一个configure文件。需要在一个目录下运行phpize,且生成的configure文件就在该目录。 

   --->  cd /root/memcache-2.2.5

   --->  phpize

    

   --->  ./configure             # 预编译

   --->  make  && make install   # 汇编安装

   4)编译完成后,会提示进入/usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/目录。我们可以在该目录中查看我们添加的memcache模块。

   --->  cd /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/

   --->  ls

   --->  php -m | grep memcache        # 此时没有添加进去

  

   --->  vim /usr/local/lnmp/php/etc/php.ini              # 编辑php配置文件,把memcache模块的加载打开

  

   --->  /etc/init.d/php-fpm reload

   --->  php -m | grep memcache                # 此时再次查看memcache模块是否添加进去

  

   5)安装memcached服务,并启动。(memcache服务的端口等信息在/etc/sysconfig/memcached文件中)

   --->  yum install -y  memcached      

   --->  /etc/init.d/memcached start

   --->  rpm  -qc  memcached              # 查看memcache的配置文件所在目录

   --->  netstat -antlp | grep 11211      # 从配置文件中可以查看出,memcached服务所在端口为11211

  

   6)对memcache配置文件进行修改

   --->  cd  /root/memcache-2.2.5

   --->  cp example.php memcache.php /usr/local/lnmp/nginx/html/     # 对example.php文件进行查看即可   

   --->  vim  /usr/local/lnmp/nginx/html/memcache.php       # 修改密码和缓存服务      

 

  

   7)在浏览器中查看。

   # 查看example.php的结果为:

  

   # 查看memcache.php的时候需要登陆。(此时的用户名和密码为上面自己修改的)

  

   # 输入正确的用户名和密码之后的结果是:(php和memcache服务的信息)

 

   # 显示的是缓存命中情况

   8)访问测试: 在真机中访问页面,使用浏览器中查看安装了memcache和没安装memcache的网页的性能的变化   

   # 在真机中使用命令: ab  -c 10 -n 1000 http://172.25.2.6/memcache.php

  

   #  ab  -c 10 -n 1000 http://172.25.2.6/example.php   # 在截图中我们可以看出,每个请求响应时间少。
  

 

posted @ 2018-10-04 19:27  UTHN_B  阅读(363)  评论(0编辑  收藏  举报