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种缓存一起用上。
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!
发表评论
我的相册
94届浮雕留影.jpg
共 44 张
共 44 张
我的留言簿
-
我很喜欢JavaEye,祝福JavaEye越走越好!
-- by kkllmey
最近加入圈子
链接
最新评论
-
发现JBoss Seam很棒呀!有 ...
“在RoR流行之前,Java社区的主流还是非常讲究分层、架构、复用和模式,而比较 ...
-- by wuxiao_v -
网络招聘是如何被做烂掉的 ...
51JOB很烂!而且他和很多外驻公司挂钩!我再也不用51JOB!
-- by xxrrss -
中国行业应用软件领域恶性 ...
这就是中国国情,其实不单是IT行业软件这一领域,中国的其他行业不也是如此?人不能 ...
-- by wq11 -
Facebook的成功秘诀是什么 ...
robbin认为校内的做法愚蠢,但我认为校内不重视开发者,有它自己的原因。rob ...
-- by include -
中国行业应用软件领域恶性 ...
是这么回事,我们是做银行的,挺苦的啊:)不过比前几年好点了,水稍微清点了
-- by zhdy007







评论排行榜