后来我在想hibernate的延迟加载为何不能先查找缓存中的数据?
看sql发现每次延迟加载都发了一条sql
于是乎我在属性上加了@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
ok条件达成,即有lazy又有查询缓存
---
越来越喜欢hibernate的二级缓存了看着需要几秒的查询结果时间缩短为十级毫秒能看出缓存的力量。
关于hibernate维护缓存的方式还不太明确,看一些资料上只是说当表发生修改的时候查询缓存会失效。
这样直接省了维护缓存的开销了,但是如何确保缓存尽可能的保留下来?
维护缓存确实是麻烦,例如Topic这样的最简单的单一对象的查询缓存来说,修改其中的一个属性也许就使整个查询结果发生了质的变化。添加一条记录也不太好控制与缓存的同步。
能否让缓存失效之后自动还原呢?缓存失效的后果是需要重新缓存一次,这样以为就着有几次请求会非常缓慢。
例如Topic表前几页,添加新的Topic导致缓存失效之后,用户访问的结果是直接查询数据库的结果,可能要好几秒
如果一旦对表发生了修改操作,缓存立刻重新更新 。对于用户来说这几秒也不需要去等待,而查询缓存设置过期时间,到时
间了之后缓存也会按预定的消失。
分享到:
相关推荐
第二次接触该信息,记忆维持1秒左右;第三次接触,维持一分钟左右;第四次接触,维持半个小时;第五次维持一、二个小时;第六次,维持七八个小时;第七次可维持十几个小时。若在第二天复习一次,则记忆可持续更久。 ...
最近开始接触Android的蓝牙设备问题,严格意义上来说,也算是第二次接触蓝牙机制了,之前对于蓝牙设备的整个过程,也不是太了解,只是接触了一些自己需要的部分。 代码可以连接蓝牙模块,接受文件和发送文件。
这是我第二次接触 D3(第一次是视频教程),我不得不投入大量工作来显示数据。 对于这些折线图,使用 Google 折线图等更简洁的工具会容易得多。 我真的很喜欢这个挑战。 这是对 Rails 的一次很好的回顾,我学到了...
如果您之前没有接触过ArcGIS Engine的开发,那么这个例子是您迈入ArcGIS Engine二次开发大门的极好例子,将从零开始引导您一步一步完成任务。 1.1.1创建一个新的工程 首先打开Microsoft Visual Studio 2005,点击...
刚接触linux的多线程编程,总结基础知识并编写socket通信的多线程多进程代码,已经验证可行,包括共享队列、套接字、循环队列、Makefile编写、动态库静态库编译和使用等。具体代码请看多线程多进程的事例分享。
) and Single UNIX Specification• Linux的功能:It has all the features you would expe
本人在有了电子资源之后,依旧买了纸质图书,一为了支持作者,二觉得图书尤其是技术类书籍,还是纸质图书读起来可以勾勾画画,可以多次快速查看某页和当时自己思考的笔记。这次上传,也是为了方便大家,还没有纸质...
1.实战一-带二级菜单和表单的导航条 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>导航条</title> <link rel="stylesheet" href=...
相信很多朋友第一次接触到网络,接触到建站,会被域名、空间、解析、建站程序等各种问题困扰,甚至都不清楚该如何下手开始做自己的第一个网站。第二步骤
这是我的第二块开发板(第一块是ESP8266),第一次接触SDK开发,第一次接触微信小程序开发,一共差不多用了我一个星期(网课都没好好听),多有不足请多指教。 开发过程参考了@半颗心脏 的许多文章,有兴趣的可以看...
读书笔记The Art of SoftWare Testing》读书笔记(1)_引子 ...第二次面对它时,是考研复习准备阶段。那时,我对测试这个领域也仅仅只是知道,就是中文书面表达的“测试”这两个汉字的含义而已。
第二部分是本书的重点,精选了大量C#实用例程来让读者更深入地理解C#。 最后一部分提供了为第一次接触C#的C/C++程序员准备的C# FAQ。 本书用来帮助现在的C/C++开发者迅速跟进至C#,此外,有Java和Delphi经验...
第09节:第一次接触动态面板.wmv 第10节:元件的移动效果.flv 第11节:第一次接触全局变量.flv 第12节:公式的使用和局部变量简介.flv 第13节:登录验证的简单实现.flv 第14节:多用户登录验证的实现.flv 第15节:...
第一次单击将设置接触点,第二次单击将绘制法线。 法线必须远离物体。 shapes / :地面真实形状.mat文件和脚本 联系人/ :生成的联系人文件存储在此处 matlab GPshape.m是启动文件, viz_shape.m具有可视化代码...
学号,姓名,第一次作业,第二次作业,第三次作业 共有3次作业。 根据需求,该系统所应实现的功能有以下一些: 1) 找到作业所在位置,遍历三次作业 2)根据学号或者姓名得出作业提交情况 3)将三次未交作业学生的...
弱电系统安装与维护 <br>第三篇 电气运行技术篇 第二十五章 发电厂与电力系统 第二十六章 二次回路 第二十七章 电力系统稳定运行技术 第二十八章 配电网控制自动化技术 第二十九章 发电厂远动与...
弱电系统安装与维护 <br>第三篇 电气运行技术篇 第二十五章 发电厂与电力系统 第二十六章 二次回路 第二十七章 电力系统稳定运行技术 第二十八章 配电网控制自动化技术 第二十九章 发电厂远动与...
弱电系统安装与维护 <br>第三篇 电气运行技术篇 第二十五章 发电厂与电力系统 第二十六章 二次回路 第二十七章 电力系统稳定运行技术 第二十八章 配电网控制自动化技术 第二十九章 发电厂远动与...
, 第二部分是本书的重点,精选了大量C#实用例程来让读者更深入地理解C#,同时这些C#例程都是经过专业程序员测试,可以直接实用,从而大大缩短编程时间,提高编程效率;, 最后一部分提供了为第一次接触C#的C/C++...
不定期更新一般一次1-5道题 第二次更新时公布上一期的答案,。 下面的参考解答只是帮助大家理解,不用背,面试题、笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补缺用的,真正的把这些题搞懂了,...