从原理到场景系统讲解PHP缓存技术

LNMP和LAMP哪些位置适合做缓存

在这里插入图片描述

一.浏览器缓存

在这里插入图片描述

在这里插入图片描述

其机制是根据HTTP报文的缓存标识进行的。
  • 过程:浏览器发起HTTP请求 – 服务器响应该请求。
  • 那么浏览器第一次向服务器发起该请求后拿到请求结果,
  • 会根据响应报文中HTTP头的缓存标识,决定是否缓存结果,
  • 若是,则将请求结果和缓存标识存入浏览器缓存中。
  • 缓存过程分为两个部分,分别是强制缓存和协商缓存。

二.DNS缓存

  • 1.首先搜索浏览器自身的DNS缓存,如果存在,则域名解析到此完成。
  • 2.如果浏览器自身的缓存里面没有找到对应的条目,那么会尝试读取操作系统的hosts文件看是否存在对应的映射关系,如果存在,则域名解析到此完成。
  • 3.如果本地hosts文件不存在映射关系,则查找本地DNS服务器(ISP服务器,或者自己手动设置的DNS服务器),如果存在,域名到此解析完成。
  • 4.如果本地DNS服务器还没找到的话,它就会向根服务器发出请求,进行递归查询。

三.CDN缓存

  • 全称是Content Delivery([dɪˈlɪvəri] ) Network,即内容分发网络。
  • 目的:是通过在现有的Internet中增加一层新的CACHE(缓存)层,
    • 将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,
    • 提高用户访问网站的响应速度。
  • 缓存内容:业务内容图片,附件JS,CSS等静态元素

四.WebServer缓存

在这里插入图片描述

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

在这里插入图片描述

五.PHP缓存

BigPipe技术

  • 背景: 商城首页加载

  • 技术:从页面片段缓存到facebook的BigPipe( [paɪp] )技术,就是当页面还没有准备完成的时候,把页面分成一个个小块,处理的话利用每个快一个个处理,没处理完一个就存在buffer里面去,然后通知buffer先把数据传到客户端(相当于一边做着蛋糕一边给客户),浏览器在一个请求中不断接受并渲染到页面,逐块显示(JS,不要立刻执行的部分,可以最后再eval进来)

  • 解决内容:这个技术主要是前后端结合的技术,主要解决的就是页面,尤其是首页,当内容特别多,加载特别慢的时候改进的问题

  • 注意事项:为了支持这个技术,服务器也需要改动下nginx配置:( proxy_buffering off; fastcgi_keep_conn on)php配置:(关闭输出缓存 output_buffering=off;)

  • 所用的PHP方法:
    在这里插入图片描述
    在这里插入图片描述

Opcache

在这里插入图片描述

六.内存数据库

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
集群方案
redis官方集群解决方案
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
redis配置集群

七.MySql查询缓存

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
redis各数据类型应用场景

八.注意事项

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值