1. OSCache简介
OSCache是一套用Java编写的缓存框架(或者说解决方案),它主要用于页面缓存,Servlet缓存,或者其它任意的对象。
OSCache使用基于内存或者磁盘的缓存策略。不同的策略有不同的适用场合:基于内存的缓存非常快,但是不能持久化,而且不能存储大量数据,适合频繁访问的数据。基于磁盘的缓存可以分为使用文件和数据库缓存,它的速度比内存缓存慢,但可以被持久化,可以在服务器重启重启,数据库奔溃时仍然运作,而且可以存储较多的数据。适合于大量非频繁访问的数据,或者复杂计算结果的缓存。
OSCache支持单独类型的缓存,和混合使用的缓存策略
2. 基于内存的快速缓存
a. 可存储任意类型的动态数据
b. 可以通过编码计算指定缓存的key
c. 缓存数据存储在application或者session中
3. 基于磁盘的持久化缓存
a. 基于磁盘的缓存可以应对服务器重启,大量数据的缓存
b. 用户可以通过定制化PersistenceListener插件来指定想要的缓存位置
c. 同时使用内存和磁盘缓存时,推荐内存缓存限额+无限制的磁盘缓存的策略,双重保护
d. 内存数据被移出内存后,可以被继续缓存到磁盘上。当内存找不到时就从磁盘缓存读取
e. 可以设置OSCache在内存缓存满时,才把后续数据缓存到磁盘上,而非全部内存数据
4. 性能考虑
a. 支持缓存并发请求
b. 当一个请求往缓存中添加数据时,其它访问该缓存的请求将被挂起直至创建完成,防止重复缓存
c. 并发访问同一个缓存数据时,可以配置成等待更新后读取或者直接返回已缓存数据的模式
5. 集群支持
a. OSCache可以被配置成集群模式,无缝地实现从单机缓存到分布式缓存的过渡
6. 缓存策略
a. OSCache支持多种类型的缓存添加策略:LRU,FIFO,无限制,自定义
b. OSCache支持多种类型的缓存过期策略:时间,cron表达式,编程计算
c. OSCache支持基于事件的触发机制:增加,修改,刷新,移除
d. OSCache支持开辟多个缓存区域,每个区域可以有不同的缓存策略
e. OSCache的刷新不单可以作用于单个对象,还可以作用于所有和对象相关的其它缓存数据
7. JSP标签
a. OSCache提供了一套简单的JSP标签,来进行页面或页面局部缓存
8. 缓存过滤器
a. OSCache利用Servlet2.3可以缓存整个HTTP响应结果:页面或者二进制文件输出(图片、PDF)
b. OSCache对二进制文件输出的缓存可以大大降低由于复杂计算而带来的时间消耗和服务器资源消耗
c. OSCache使用HTTP报头的"Last modified”属性来判断是否使用缓存还是重新请求
9. i18n支持
a. OSCache支持i18n国际化
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要尽力打好一手烂牌。
posted on 2010-10-22 21:39
Paul Lin 阅读(513)
评论(0) 编辑 收藏 所属分类:
架构与性能