一、什么是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   # 在截图中我们可以看出,每个请求响应时间少。

php 访问 memcache,memcache+php实现页面访问的加速相关推荐

  1. 利用Memcache解决数据库高并发访问的瓶颈问题

    from:http://www.jizhuomi.com/software/317.html 对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单 ...

  2. LNMP架构之PHP——MemCache对PHP页面的缓存加速优化

    前言 1.什么是MemCache? MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载. 它通过在内存中缓存数据和对象来减少读取数据库的 ...

  3. MemCache对PHP页面的缓存加速优化

    一.MemCache 简介 Memcache 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度. ...

  4. 利用curl并发来提高页面访问速度

    在我们平时的程序中难免出现同时访问几个接口的情况,平时我们用curl进行访问的时候,一般都是单个.顺序访问,假如有3个接口,每个接口耗时500毫秒那么我们三个接口就要花费1500毫秒了,这个问题太头疼 ...

  5. 静态页面访问缓慢的问题

    今天看公司群上讲静态页面访问慢就是CDN的问题,于是上网查了一下资料. 这篇文章讲的很好.https://blog.csdn.net/zhangjs712/article/details/511667 ...

  6. 实现IHttpModule接口获取Session来实现页面访问日志功能。

    我们在开发企业Web应用程序时经常需要对用户的操作记录日志,以便在发生突发事件后有据可查,比如要对用户访问的每一个页面都做日志记录.通常的做法可能是编写一个记录日志的方法(如:AddAccessLog ...

  7. java spring省略jsp,Java +Tomcat + SpringMVC实现页面访问示例解析

    window7下Java环境安装记录: 一.安装Tomcat 1.下载tomcat 7.0,解压,无需安装,放置到目录:D:\apache-tomcat-7.0.90. 2.配置系统环境变量,CATA ...

  8. 系统升级页面html,页面访问界面升级

    页面访问界面升级了,赶紧通知用户吧!下面是应届毕业生小编为大家收集的关于页面访问界面升级,欢迎大家阅读! 页面访问界面升级一 尊敬的纳税人: 因系统维护需要,浙江省国家税务局计划于2016年6月3日2 ...

  9. ifamre 大小随页面变_SEO优化中如何让你的页面访问速度更快

    页面访问速度对于SEO优化来说是极为关键的一环.我们试想一下,如果某个访客花了几十秒才能打开你网站的首页,先不说这个访客抱着什么访问目的和什么渠道来的,一般正常的访客大概率都会放弃访问这个页面.由此可 ...

最新文章

  1. 海思3559A上编译libyuv源码操作步骤
  2. 理解 Azure 虚拟机的性能监视
  3. 头条45K的推荐算法工程师,需要具备怎样的技能
  4. 关于一些对location认识的误区(转)
  5. 35岁以前把下面十件事做好
  6. Vim升华之树形目录插件NERDTree安装图解
  7. 一步一步学Remoting之二:激活模式
  8. JS获取本周、本季度、本月、上月的开始日期、结束日期
  9. 精和泛的一点思考(跨学科思维)
  10. hadoop入门手册5:Hadoop【2.7.1】初级入门之命令:文件系统shell2
  11. springmuvc如何设置jsp的input跳转_小程序有链接吗?如何获取小程序的链接?
  12. 财务报表分析,Smartbi财务BI项目解决方案
  13. Linux安装phpstudy
  14. textbox提示文字属性_《我来自江湖》MUD类武侠题材多样性玩法的单机文字游戏...
  15. 不做“OUTMAN”!笔记本热门词汇盘点
  16. HTML5百度地图规划路线,百度手机地图手动设置地图路线的方法 路线选择方法
  17. js解决键盘长按输入时会有停顿的问题
  18. 黑科技计算机玩游戏,别再嘲笑苹果电脑玩不了游戏!有了这项黑科技后比台式机还猛...
  19. 3_1 操作系统定义、分类及功能【包含linux操作系统基础知识】
  20. luogu P5149 会议座位

热门文章

  1. 简单实例讲解linux的module模块编译步骤
  2. Linux /dev目录详解
  3. 【Leetcode】几种简单的排序算法
  4. [云炬创业学笔记]第二章决定成为创业者测试6
  5. [云炬创业基础笔记]第六章商业模式测试8
  6. [云炬创业基础笔记]第五章创业机会评估测试5
  7. 科大星云诗社动态20210518
  8. 能源15A1,A2燃烧学期末试题2018-01-02
  9. [:zh]<机械课程设计>第三张表自动计算部分 Android安装包[:]2017-12-20
  10. 【6 插值方法】实例实战篇