缓存概述

什么是缓存

缓存,是一种存储数据的组件,它的作用是让对数据的请求更快地返回

实际上,凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为缓存。

例如:

  • 操作系统的快速转换表:TLB(Translation Lookaside Buffer)
  • HTTP的协商缓存

缓存分类

静态缓存:

这种缓存只能针对静态数据来缓存,一般通过生成静态 HTML 文件来实现静态缓存并在 Nginx 上部署静态缓存可以减少对于后台应用服务器的压力。

分布式缓存:

例如Redis、Memcached等就是典型的分布式缓存。性能强劲,并且可以通过分布式方案突破单机限制。

热点本地缓存:

热点本地缓存主要部署在应用服务器的代码中(如 HashMap,Guava Cache 或者是 Ehcache 等),因为它们和应用程序部署在同一个进程中,优势是不需要跨网络调度,速度极快,所以用于阻挡热点查询对于分布式缓存节点或者数据库的压力。(但是由于会有多台应用服务器,数据更新无法更新删除缓存,所以有效期很短秒级或者分钟级