假奶大过天 -- Java缓存初探1

搭建快速的web系统,自然是少不了缓存的考虑。在静态页面和文件方面, 使用 squid 和其替代品 Varnish 应该说满足了一定的需求。

对于动态网站来说,在application层面上加上缓存也是理所当然的。小型应用的话,主要可以考虑的是数据库缓存以及jsp页面缓存。
  • JSP页面要认真考虑起来其实比较难,陈老师比较熟悉的OSCache自带了一套标签。但是其实不是很实用,尤其对于mvc架构的程序来说,仅仅在负责取数据的展现层做缓存,作用不大。即使考虑周全了,实现一个比较通透的缓存刷新机制,对于bbs或者sns之类的应用来说,页面缓存的刷新周期也很难把握。
  • 数据库缓存吧,一般orm本身都有二级缓存功能,像ct现在使用的toplink,配置一下参数就可以,这点倒是不用自己考虑太多。只是要是自己生写JDBC设计DAO的话,就得花点心思选选缓存实现鸟

有篇文: 比较Java中几种数据cache方式

陈老师最近在dao层重构的时候误入了 假奶丛中:
  • oscache
  • ecache
  • memcache
  • whirlycache
利用假奶的大体的思路,是通过配置文件提供cacheProvider类,然后通用的CacheManager调用统一的接口实现POJO的缓存。这样给dao本身提供了更多缓存方案的选择余地。具体实现和UML图请见下下回分解。

给一个ecache和memcache的测评:


  • ecache应用还算比较广泛,hibernate出色的性能是离不开她滴。
  • memcache最近很人气啊,分布式缓存,听起来很帅。只是对于单服务器环境,加上java类库的存取消耗,性能就不好说了,好东西还得看着用呗

比较看好的,据说是最快的java系缓存:

Whirlycache是一个快速的、可配置的、存在于内存中的对象的缓存。它能够通过缓存对象来加快网站或应用程序的速度,否则就必须通过查询数据库或其他代价较高的处理程序来建立。
看起来还好,手感如何还待实践,先拿glr的工程试试~

 发布时间:2008-09-14 22:14:17 | 阅读:338 | 评论:1 

你可能感兴趣的:(java,DAO,Hibernate,应用服务器,UML)