Lnmp(5)--memcache(php层面缓存)

1.MemCache的概念

  • MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统
  • MemCache是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)使用key-value存储
  • memcache是一种内存缓存技术,是一种缓存手段,要看情况来使用
  • 对于频繁读取,每次读取重复率高,数据更新频度低的数据,用memcache可以优化你的系统响应速度
  • Memcache和memcached的区别:
  • Memcache是这个项目的名称,而memcached是它服务器端可以执行文件的名称

2.使用MemCache的原因

  • 主要用于动态web应用以减轻数据库的负载
  • 它通过在内存中缓存数据和对象来减少读取数据库的次数
  • 从而提高了网站访问的速度

3.实现MemCache对php页面的缓存加速优化的具体操作

php增加mamcache模块

  • vim .bash_profile #编辑文件,添加mysql和php的路径,方便调用
    在这里插入图片描述

  • tar zxf memcache-4.0.5.2.tgz #解压

  • cd memcache-4.0.5.2/ #切换到解压目录下

  • 由于memcache目录中没有configure文件,因此无法编译

  • source /root/.bash_profile #刷新添加路径php的文件

  • phpize #侦测之前的php环境以至于使memcache可以进行编译,即就是使用configure

phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,
比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,可以使用phpize。
phpize工具是在php安装目录下,基于这点phpize对应了当时的php环境,
所以是要根据该php的配置情况生成对应的configure文件,建立一个configure文件。
必须在一个目录下去运行phpize,那么phpize就知道你的的环境是哪个目录,并且configure文件建立在该目录下。
  • 出现错误,安装所需软件

  • yum install autoconf -y #安装软件

  • phpize #再次执行
    在这里插入图片描述在这里插入图片描述

  • 安装编译memcache

  • ./configure --with-php-config=/usr/local/lnmp/php/bin/php-config

  • make && make install

  • 安装完成后会生成一个目录/usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20190902/,将目录保存
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • cd /usr/local/lnmp/php/etc/ #切换到此路径下

  • vim php.ini #编辑文件

  • 将安装完memcache保存的目录添加到759行,在913行加入memcache模块
    在这里插入图片描述
    在这里插入图片描述

  • /etc/init.d/php-fpm reload #重新加载php

  • php -m | grep memcache #过滤memcache模块,发现已经有了这个模块

  • php -m | grep mysql #同时支持mysql
    在这里插入图片描述

  • yum install memcached -y #安装memcache工具

  • cat /etc/sysconfig/memcached #查看配置文件

  • systemctl start memcached #启动memcache

  • systemctl status memcached #查看状态
    在这里插入图片描述
    在这里插入图片描述

  • 用telnet连接,查看memcache怎样工作

  • yum install telnet -y #安装telnet命令

  • telnet localhost 11211 #连接memcache

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

  • cd /root/lnmp/memcache-4.0.5.2/ #切换到解压后的目录中
  • cp memcache.php example.php /usr/local/lnmp/nginx/html #复制提供的两个测试页面到nginx的默认发布页面
  • cd /usr/local/lnmp/nginx/html/
  • memcache.php为监控页面,可以看到memcache是否正确的被调度
  • vim memcache.php #编辑此文件
  • 编辑内容如下:

在这里插入图片描述
在这里插入图片描述

  • 在浏览器上访问172.25.254.1/memcache.php #该页面显示了访问命中率
    在这里插入图片描述
    在这里插入图片描述
  • example.php提供页面,这个页面会告诉php,获取了一个结果后要在memcache中以key-value的形式存储一次
    在这里插入图片描述
    测试
  • 在ip为172.25.254.76的机器上测试
  • ab -c 10 -n 5000 http://172.25.254.1/index.php #以10个并发,并发5000次,没有加速的index.php页面
    在这里插入图片描述
  • ab -c 10 -n 5000 http://172.25.254.1/example.php #以10个并发,并发5000次,加速的example.php页面
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值