banq兄,一般的的持久层中提供了Cache了么?

现在似乎hibernet,Jdo,turbine的torque,也许还有j2ee都有提供数据库的持久层,不知道其中没有同时提供自身的Cache操作呀?例如作个select操作,那下次再次搞这个操作的时候,数据是否提取的更快了呢?另外,jive中的数据库连接池也是keep live的呀,那它算不算持久层呢?

cache是持久层技术的基本底层机制之一,一般都具备。Jive的cache不是数据库连接池,是cacheManager管理的,我的书籍有专门章节讲Jive的cache,Jive的cache值得我们借鉴。

假如要将jive的数据库连接改为持久层如torque或者hibernate什么的,你认为就jive来讲还有没有必要再做一层cache呢?如UserCache,假如去掉这个cache而直接通过持久层来操作的话,那jive声称的100000 ip/day能力还是否具有呢?

可能会没有,因为Jive的cache非常具体,与具体数据捆绑很紧密,例如专门创造Long类型数据的缓存对象。

使用Hibernate之类持久层,由于他们使用通用缓存技术,同时,由于技术复杂损耗一些性能。