zoukankan      html  css  js  c++  java
  • 有关缓存

    缓存,老生常谈;

    大家都知道利用缓存可以提高性能,只有真正的了解,才可以化为己用。

    缓存有哪些呢?

    分为服务端和客户端两种,服务的端的缓存通常是cdn缓存,而客户端通常是浏览器缓存

    CDN缓存

    浏览器本地缓存失效后,浏览器会向CDN边缘节点发起请求。类似浏览器缓存,CDN边缘节点也存在着一套缓存机制,但当网站更新时,如果CDN节点上数据没有及时更新,即便用户再浏览器使用Ctrl +F5的方式使浏览器端的缓存失效,也会因为CDN边缘节点没有同步最新数据而导致用户访问异常;

    CDN的缓存策略 大学课本上我们都讲过了,日常开发优化性能时无能为力,这里着重说下浏览器缓存:

    大家一定注意过,我们的页面请求是这个样子的,有200,304,200的情况下 有form disk cache  和 from memery cache:

     

    浏览器缓存分为 强缓存和协商缓存:

    强缓存: 200(from cache) ,不经过服务器直接从缓存读取;

    协商缓存:304 (not modified),通过服务器来告知缓存是否可用;

    客户端向服务端请求的流程图:

    以上流程图很好的说明了 请求图的200 /304   的问题;

    而针对于 from dist/memery cache

    from dist cache:缓存从磁盘中获取,等待下次访问时不需要重新下载资源,而直接从磁盘中获取,它的直接操作对象为CurlCacheManager。它与memoryCache最大的区别在于,当退出进程时,内存中的数据会被清空,而磁盘的数据不会,所以,当下次再进入该进程时,该进程仍可以从diskCache中获得数据,而memoryCache则不行。

    from memery cache:缓存从内存中获取

    浏览器对静态资源的缓存。打版本号解决问题。

  • 相关阅读:
    ubuntu 16.04 安装PhpMyAdmin
    Python虚拟环境中pip install时没有权限问题
    启动mongodb和redis服务器
    HTML的学习
    awk实战演示
    shell脚本之颜色效果显示以及PS1颜色实战
    linux之在当前目录下按照文件大小进行排序的三种方法
    trap命令的实战用法
    bash的内置字符串处理工具
    ubuntu16.04系统彻底卸载mysql,并源码免编译重装MySQL的步骤
  • 原文地址:https://www.cnblogs.com/fnncat/p/7722180.html
Copyright © 2011-2022 走看看