何瑶龙

导航

缓存

缓存的分类

按照存储介质来分 :

内存(网站进程内、同服务器独立进程、独立服务器、分布式服务器组)。

磁盘(本地文件和数据库,独立服务器、分布式服务器组)。

缓存可以使用磁盘而不仅仅是内存。

按照存储的数据来分 :

直接用于输出的整页(HTML、脚本样式、图片)。

片段页(可供多个客户端使用的HTML、脚本样式等)。

索引和聚合数据(空间换时间)。

耗时查询的结果数据。

和业务相关的大块数据(列表数据,引用数据)。

和业务相关的小级数据(行级数据,资源数据)。

和上下文(用户)相关的数据(活动数据)。

按照实现方式来分 :

框架或引擎内置的缓存(比如ORM缓存和SQL SERVER缓存)。

安装特定的组件根据规则自动实现缓存(比如反向代理和输出缓存)。

需要由开发以编程方式实现的缓存(比如业务数据缓存)。

按照作用来分 :

用于数据的读取(之后介绍的大部分内容都是基于此类缓存)

用于(允许丢失)数据的写入——写到缓存的队列中,再由工作线程提交处理(写入存储)

网站架构中的缓存

浏览器缓存(HTTP缓存头)

代理缓存(Squid Vanish CDN)

Web服务器缓存(内核缓存、应用缓存)

页面输出缓存(片段缓存、整页缓存)

业务数据缓存(本地缓存,分布式缓存)

其它缓存(ORM、数据库、搜索引擎等缓存)

posted on 2016-11-28 10:59  何瑶龙  阅读(125)  评论(0编辑  收藏  举报