简列常用缓存技术
对于一个访问量庞大的网站来说,缓存机制是很重要的提速和优化手段。
那么我们在开发一个网站的过程中,能用到的,需要注意的缓存机制都有哪些呢?本文将浅显层面做一些简单笔记。如果大家有不同意见,欢迎拍砖。
本文主要提到如下缓存技术:浏览器缓存、网关/代理服务器缓存、页面缓存、数据缓存、数据库缓存、反向代理缓存
1、浏览器缓存
浏览器缓存机制,主要就是HTTP协议定义的缓存机制(如 Expires;Cache-control等),还包括非HTTP协议定义的缓存机制,如使用HTML Meta标签。
推荐阅读>>
2、网关/代理服务器缓存
网关或代理服务器缓存是将远程服务器提供的数据保存在网关/代理服务器上,多用户访问同一页面时,直接从网关服务器把页面传送给用户。
推荐阅读>>
3、页面缓存
页面缓存是将动态页面直接生成静态的页面放在服务器端,用户调取相同页面时,静态页面将直接下载到客户端,不再需要通过程序的运行和数据库的访问,大大节约了服务器的负载。每次访问页面时,会检测相应的缓存页面是否存在,若不存在,则连接数据库得到数据渲染页面并生成缓存页面文件,这样下次访问的页面文件就发挥作用了。
推荐阅读>>
4、数据缓存
数据缓存是最灵活的一种缓存。但是需要在代码中额外的步骤才能使用。当所有用户都在发布信息的时候,用户发布信息后想立即看到这些数据,就需要数据缓存来实现。
目前的实现分为两种方式:
1.内容缓存:将缓存数据存放在服务器的内存空间中。
2.文件缓存:缓存数据存放在服务器的硬盘空间中。
推荐阅读>>
5、数据库缓存
数据库的缓存一般由数据库提供,可以对表建立高速缓存。数据库中,用户可能多次执行相同的查询语句,为了提高查询效率,数据库会在内存划分一个专门的区域,用来存放用户最近执行的查询,这块区域就是缓存。
推荐阅读>>
6、反向代理缓存
就像代理服务器缓存和浏览器缓存一样,我们同样可以讲内容缓存在反向代理服务器上,所有缓存机制的实现仍然采用HTTP/1.1协议。
推荐阅读>>
参考文章: