Web 缓存技术简介
1、什么是缓存?
缓存是指临时文件交换区。不同的设备不同的场景使用不同的方式实现缓存。
一般来说,缓存不是一个具体的东西,而是一种处理方式的统称。
2、缓存能够解决的问题
提高性能
提升稳定性
提高可用性
3、常见使用场景
短时间不发生变换的基础数据的缓存
统计报表结果缓存
4、缓存存在的地方
理论上,整个请求流程的任何点上都可以有缓存。如:
1)浏览器 如:cookie(?)
2)浏览器与APP应用之间
3)APP分层之间
4)数据库内部 如:mysql的querycache
5、与缓存技术相关的基本概念
1)命中率
2)最大缓存元素数量
3)缓存清理策略
FIFO:先进先出
LFU:Less Frequently Used,一直以来最少使用
LRU:Least Recently Used,最近最少使用
6、缓存的介质
硬件划分:
内存,硬盘(对于应用层程序来讲不考虑寄存器等)
技术划分:
内存、磁盘、数据库 注:这里说的数据库不是RDBMS,而是具有Key/Value存储结构的NOSQL数据库,如berkleydb等。
缓存与应用的耦合程度划分:
Local Cache:如OSCache,EhCache,JBossCache
优点:和应用在同一个进程内部,不考虑网络开销
Remote Cache:如memcached
常用于集群环境中,避免Local Cache的环路更新开销
参考文档:
java缓存技术 http://wenku.baidu.com/view/128c0119ff00bed5b9f31d5f.html
浙公网安备 33010602011771号