知识大全 缓存详解

Posted

篇首语:人心隔肚皮,看人看行为。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 缓存详解相关的知识,希望对你有一定的参考价值。

  我们可以在HTML页面利用meta tag和PHP程序中通过header来控制 例如

  代码如下

  header( Cache Control:max age= must revalidate );// 小时

  header( Last Modified: gmdate( D d M Y H:i:s ) GMT );

  header( Expires: gmdate( D d M Y H:i:s time() + ) GMT );

  echo 我不刷新 ;再写个HTML文件c

  haha go

  我们请求 /c 点击链接 然后利用浏览器的回退按钮 返回c 再点击链接 如下图左所示 我们发现 当添加了缓存指令后 我们无论如何来回后退和点击链接 下面的网络请求URL这一条始终为灰色 表示浏览器并没有发起实际的网络请求 而是直接调用了存储在用户电脑中的缓存页 除非缓存时间过期 在这期间 即使是实际内容改变了 浏览器也不会去重新读取我们在服务器上的资源 你可以把echo的那一句修改后 再点击 会发现网络请求仍然为灰色 在这种情况下 只有以下三种情况浏览器才会去更新缓存

  ( )缓存到期

  ( )缓存被清除;

  ( )F 或 ctrl+F 强制刷新 (这一点各种浏览器处理可能存在差异 我的测试环境是firefox )

  当我们屏蔽上面的header指令或者改用如下代码时//告诉客户端浏览器不使用缓存 HTTP 协议

  代码如下

  header("Cache Control: no cache must revalidate");

  //告诉客户端浏览器不使用缓存 兼容HTTP 协议

  代码如下

  header("Pragma: no cache");

  

  

  浏览器就会在每次请求时都去服务器上读取资源 如下面右边的图所示 在这里 我们可以大致了解下浏览器对页面的缓存处理 很容易 我们就能联想出其使用场景 有时候我们需要它缓存 有时候又不需要 你可以根据场景来使用 不过 浏览器的缓存作用是很微小的 但能省一点算一点 有时候 浏览器的缓存是很厉害的 需要我们强制刷新才能见效 比如JS文件 有时你更改了 即使刷新也是不会更改的 另 除了可以在代码中设置页面缓存 也可以在APACHE等服务器上配置 特别是静态资源 加上缓存可以有效减少不必要的请求

  又有时 我们通常会看到这样的代码 在JS文件后加上问号的那一串并没有实际意义 只是为了避免JS被缓存 给JS文件加一个版本号 通常用时间戳做标记 这样浏览器就不会缓存我们的JS文件了

cha138/Article/program/PHP/201311/20968

相关参考

知识大全 js文件缓存之版本管理详解

  近几个月来的工作是一个交易系统持续改进项目迭代发布周期大约为~周最近一次迭代是V版在礼拜三完成发布不幸的是第二天上午就被老大逮过去原来老大从生产中揪出了一个bug大致的问题如下  系统中有一个常用

知识大全 EhCache 分布式缓存/缓存集群

EhCache分布式缓存/缓存集群  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一缓存系统简介

知识大全 浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)

浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶

知识大全 hibernate事务,一级缓存,二级缓存

  通过以上的介绍可以看出hibernate主要从以下几个方面来优化查询性能  降低访问数据库的频率减少select语句的数目实现手段有使用迫切左外连接或迫切内连接对延迟检索或立即检索设置批量检索数目

知识大全 hibernate的二级缓存介绍

  hibernate二级缓存是由SessionFactory管理所以又叫SessionFactory级缓存它是通过不同的类库来实现的比如ehcacheoscache等和一级缓存一样二级缓存也是用来缓

知识大全 ASP.NET缓存总结

ASP.NET缓存总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一缓存概念缓存的好处类型 

知识大全 在asp.net 中实现维护数据缓存

在项目中我们经常会用到数据缓存也会在项目处理对缓存的维护但是有些时间我们需要人为的来维护这些缓存用下面的代码来实现   将缓存信息绑定到DataGrid上   privatevoidbindCache

知识大全 Hibernate缓存机制

Hibernate缓存机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  缓存是位于应用程序与物

知识大全 页面输出缓存

  最简单的缓存机制把整个Aspx页面保存在服务器端内存中用户请求页面时直接从服务器端内存中提取数数据不在经历页面的生命周期主要用于不经常更新和修改而在第一次编译是时要经过大量处理的数据页面输出缓存是

知识大全 ASP.NET缓存介绍

ASP.NET缓存介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    ASPNET缓存