2007-03-30

缓存简述

关键字: cache
缓存实现的层面有很多:

1、对象缓存
由ORM框架提供,透明性访问,细颗粒度缓存数据库查询结果,无需业务代码显式编程。当软件结构按照ORM框架的要求进行针对性设计,使用对象缓存将会极大降低web系统对于数据库的访问请求。因为类似Hibernate这样的ORM,良好的设计数据库结构和利用对象缓存,在大负载网站,能够提供极高的性能。因为使用对象缓存也无需显式编程,所以适用范围也最广泛。

2、查询缓存
对数据库查询结果行集进行缓存,适用于一些耗时,但是时效性要求比较低的场景。iBATIS就只能使用查询缓存,而无对象缓存。查询缓存和对象缓存适用的场景不一样,是互为补充的。

3、片断缓存
针对动态页面的局部片断内容进行缓存,适用于一些个性化但不经常更新的页面(例如博客)。OSCache提供了相当简陋的片断缓存,而RoR则提供了相当好的片断缓存机制。

4、Action缓存
针对URL访问返回的页面结果进行缓存,适用于粗粒度的页面缓存,例如新闻发布。OScache提供了相当简陋的Action缓存(通过web.xml中的配置),而RoR提供了相当好的Action缓存。

缓存不能一概而论,以上每种缓存分别适用于各自的场景,缓存不同的层面。当然你可以在应用程序当中把4种缓存一起用上。
评论
yintaibing 2008-03-07   回复
请教一下:对于插入,更新频繁的企业应用,一般是应该从哪方面去解决的呢。备注:大型应用系统,在线人数1000左右。频繁数据库insert,update!
X.D.Hua 2007-06-26   回复
robbin能不能再拓展一下,比如开2个讨论贴:
1.在JAVAEYE2.0中,在哪些地方应用了哪些缓存技术,效果如何。
2.在JAVAEYE3.0中,在哪些地方还没有用上但还可以,准备在哪些地方优化缓存技术,最终达到什么效果,当然最终结果不是为了滥用缓存。
发表评论

您还没有登录,请登录后发表评论

robbin
搜索本博客
我的相册
1ee685b7-6319-3368-993a-73e0e216281d-thumb
94届浮雕留影.jpg
共 44 张
我的留言簿
  • 我很喜欢JavaEye,祝福JavaEye越走越好!
    -- by kkllmey
存档
最新评论