缓存概述
缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。
缓存的原理
- 将数据写入/读取速度更快的存储(设备);
- 将数据缓存到离应用最近的位置;
- 将数据缓存到离用户最近的位置。
缓存分类
在分布式系统中,缓存的应用非常广泛,从部署角度有以下几个方面的缓存应用。
- CDN缓存;
- 反向代理缓存;
- 分布式Cache;
- 本地应用缓存;
缓存媒介
-
常用中间件:Varnish,Ngnix,Squid,Memcache,Redis,Ehcache等;
-
缓存的内容:文件,数据,对象;
-
缓存的介质:CPU,内存(本地,分布式),磁盘(本地,分布式)
缓存设计
缓存设计需要解决以下几个问题:
哪些数据需要缓存:1.热点数据;2.静态资源。
缓存的位置:
CDN,反向代理,分布式缓存服务器,本机(内存,硬盘)
缓存的策略:
- 过期策略
- 固定时间:比如指定缓存的时间是30分钟;
- 相对时间:比如最近10分钟内没有访问的数据;
-同步机制 - 实时写入;(推)
- 异步刷新;(推拉)
下一章仅就分布式缓存和本地缓存进行讲解