请问“banq”,你上面提到的“最好在Web层自己做一些缓存,这样离客户端最近,性能最好。”,请问大概是如何实现的?

> >>我个人认为 图书信息采用类似xml的结构存储
> 是影响性能的关键, 根本就没有用到数据库的处理能力,
> 而利用虚拟机去解析庞大的xml.
>
> 也不一定,采用xml存储可能会比采用数据库存储的性能要好?
> ,举个例子:
> 如果存储树形结构的数据到数据库中,可能需要进行遍历,当
> 谢厮凡檎疑弦患痘蛘吒诘愕氖焙颍欠浅5南氖奔涞模
> 而采用xml存储结构,这样的查询往往很快,你可以试一下xqu
> ry;
> 而且国内现在存在倍多和timano公司的xml数据库,查询速度?
> 快的,可以与关系型数据库相媲美;

原来新的数据库已经集成了对xml的支持了, 真是井底之蛙呀!

> 请问“banq”,你上面提到的“最好在Web层自己做一些缓存?
> 这样离客户端最近,性能最好。”,请问大概是如何实现的?

就是把常用的内容存放在内容中, 用时只要访问内存, 不需要访问数据库或业务层, 这样就快了.

> >
> 请问“banq”,你上面提到的“最好在Web层自己做一些缓存?>
> >
> 这样离客户端最近,性能最好。”,请问大概是如何实现的?
>
>
> 就是把常用的内容存放在内容中, 用时只要访问内存,
> 不需要访问数据库或业务层, 这样就快了.
原理我知道,我是指在Web层用什么技术实现,特别是采用群集的系统。

可以看看jboss cache或者oscache

VLDB(Very Large Data Bases) conference 2003中有一篇论文,
Balancing Performance and Data Freshness in Web Database Servers
作者在这片文章中精彩的奉献了一种web和数据库应用对页面进行cache提高性能的方法。
VLDB是数据库领域最著名的学术会议之一。

忘了链接:
http://wwwdb.informatik.uni-rostock.de/vldb2003/papers/S13P01.pdf

> > 就是把常用的内容存放在内容中, 用时只要访问内存,
> > 不需要访问数据库或业务层, 这样就快了.


胡扯! 图书馆这样的数据库查询的离散性很大,加上缓存,只会导致速度更慢,占内存更大!
这是典型的数据库设计问题导致的,还是老老实实抓取 SQL 语句,放到数据库中仔细的 Explain 吧!

> 最好在Web层自己做一些缓存,
> 这样离客户端最近,性能最好

这样的话,是可以解决一些性能问题的;但是这样必将带来一些不必要的麻烦,比如数据同步;

如果我没有理解错的话,可能就是指在JavaBeans里自己做缓存。

web层的缓存其实就是类似jive处理缓存的技术类似

用一些容器类来放数据!直接放在内存中!

问题的关键是:
你要缓存什么东西呢?以及要占用多大的内存

大家少谈一点设计模式好吗?设计模式不是用来解决所有的问题的。
你的问题最重要的是数据库结构的设计上,还有sql的优化。再说一个图书信息系统需要将信息转换成xml村成blob吗?不理解。
最后慎用cache,除非你对数据一致、事务等问题很清楚。