• 理解web缓存


    web缓存是web用于临时存储各种资源的一种技术。

    web缓存大概分两种,一种是前端缓存,另一种是后端端缓存。

    前端缓存

    浏览器缓存

    浏览器自带的缓存机制。

    比如说浏览器后退前进的动作,一般使用浏览器的缓存机制,部分浏览器有网页加速缓存机制。

    html页面缓存

    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache">
    <meta http-equiv="Expires" content="0">

    作用不大,对于特定代理服务器没有。

    cookies缓存

    比如:登录认证,偏好设置,浏览痕迹等。

    PS:如何在已有的cookies上更新cookie的值。

            在cookies的值加入随机字符串,或者先清除所有的cookie,重新创建新的cookie。设置cookie一定要设置过期时间。

    补充:个人不建议使用给文件加随机数作为版本号,因为随机数是一个伪随机数,不是真正意义的随机数,这涉及一个算法问题,不深究。

    后端缓存

    服务器缓存(http缓存)

    通过http请求头来通知浏览器缓存页面

    首次请求。

    Expires:http response的响应时间。

    Cache-control:控制浏览器中页面缓存状态。

    Last-Modified:浏览器最后一次请求服务端资源修改的日期。

    再次请求

    Etag/If-None-Match:url实体标签,类似于token,如果没有修改就返回状态码304,不会发送资源。

    If-Modified-Since:再次请求服务端资源修改的日期,如果没有修改就返回状态码304,不会发送资源。

    PS:Cache-control设置了max-age与s-max-age值的话,Expires会被忽略,为了保证客户端能够获取到最新资源,建议都定义以上字段。

    数据缓存

    一般指的是使用了缓存数据库,把数据缓存在服务器内存或磁盘。

    PS:一定要及时更新缓存数据库的数据,同步主数据库的数据,保证数据一致性。

    总结:合理使用缓存可以减少用户和服务器端的带宽使用,提高访问速度,否则就会出现数据更新不及时等问题。

    补充:

    更新前端项目方法

    方法一:使用webpack打包生成的项目,自己手动删除旧文件。先把dist文件夹上传上去,然后一个个按照上传的日期去删除。

    缺点:工作繁琐,担心一时手误删除文件。

    方法二:使用文件同步软件,把dist文件夹自动与ftp文件夹同步。

    优点:避免自己误删其他文件,自动删除旧项目,平滑更新生产环境的项目。·

  • 相关阅读:
    hdu 3555 Bomb 【数位DP】
    ibatis动态的传入表名、字段名
    ibatis把表名作为一个参数报错问题的解决方案
    事务——原子性、一致性、隔离性和持久性的理解
    struts2 集成webservice 的方法
    MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK
    Javascript禁止网页复制粘贴效果,或者复制时自动添加来源信息
    asp.net关于Cookie跨域(域名)的问题
    Java cookie的使用
    关于Cookie跨域操作的一些总结
  • 原文地址:https://www.cnblogs.com/Sroot/p/8920570.html
Copyright © 2020-2023  润新知