setflogs 2008-07-06 13:41
浏览 140
已采纳

hibernate二级缓冲,缓冲分页第一页

我写两个hibernate二级缓冲缓冲第一页。
通过调试,确实能缓冲,缓冲的时间设置的比较短,我们做的是高流量的平台。
现在有个问题是select count(*) 结果没有办法缓存.怎么能让总行数跟缓冲保持同步呢?
比如:我现在访问第一页,从缓冲取,但是总行数确从数据库取。能不能让总行数也从缓冲呢?
如果不是第一页,数据和总行数都要从数据库取。

说明一下:我的查询是sql+视图
用的全是纯SQL
用的hibernte的SQLQuery

  • 写回答

2条回答 默认 最新

  • wangxin0072000 2008-07-07 12:44
    关注

    小弟不才,据小弟理解,Hibernate的缓存机制是对象缓存,比如你用Query.list从数据库中取了10个对象,那么就会把这10个对象缓存了,而不是把这个list缓存。所以如果你想缓存分页条目数,只能把这个条数存成对象。比如设置实体类Counter,其中有三个属性:id(在缓存中标示对象唯一性),table(标示要缓存的表名),count(条目数)。每次刷新或者query的时候,同时更新这个对象,你可以把这个类实例化到一个静态容器中,方便使用,这种模仿Hibernate缓存的方式很好用。你可以试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)