(一)Hibernate的二级缓存策略的一般过程如下:
1) 条件查询的时候,总是发出一条select * from table_name where …. (选择所有字段)这样的SQL语句查询数据库,一次获得所有的数据对象。
2) 把获得的所有数据对象根据ID放入到第二级缓存中。
3) 当Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查;查不到,如果配置了二级缓存,那么从二级缓存中查;查不到,再查询数据库,把结果按照ID放入到缓存。
4) 删除、更新、增加数据的时候,同时更新缓存。
Hibernate的二级缓存策略,是针对于ID查询的缓存策略,对于条件查询则毫无作用。为此,Hibernate提供了针对条件查询的Query Cache。
(二)什么样的数据适合存放到第二级缓存中?
1 很少被修改的数据
2 不是很重要的数据,允许出现偶尔并发的数据
3 不会被并发访问的数据
4 参考数据,指的是供应用参考的常量数据,它的实例数目有限,它的实例会被许多其他类的实例引用,实例极少或者从来不会被修改。
(三)不适合存放到第二级缓存的数据?
1 经常被修改的数据
2 财务数据,绝对不允许出现并发
3 与其他应用共享的数据。
二级缓存也称进程级的缓存或SessionFactory级的缓存,它可以被所有的session共享
二级缓存的生命周期伴随着SessionFactory生命周期存在和消亡,SessionFactory
可以管理二级缓存
二级缓存的配置和使用:
* 将echcache.xml文件拷贝到src下
* 指定是否启用二级缓存,默认是启用的,如:
<property name="hibernate.cache.use_second_level_cache">true</property>
* 指定缓存产品的提供商,如:
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
* 指定哪些类使用二级缓存(两种方法)
--在hibernate.xml文件中配置
--在映射文件中
分享到:
相关推荐
提到的“两级抽取数据的方法”,指的是在数据获取过程中采用分阶段处理,具体可分为两个步骤:第一级抽取和第二级抽取。两级抽取可以有效缓解数据获取过程中的复杂性,使得数据获取过程更易于管理和控制。 两级抽取...
第二范式(2NF)要求表中不存在非主键列对主键的部分函数依赖。 - **应用实例**:设计一个员工信息表时,确保每个部门的名称只出现在部门编号所在的一条记录中,避免部分函数依赖。 #### VBA函数 - **知识点概述**...
CDH分为两个主要版本系列:cdh3和cdh4,分别对应Hadoop的第一代(Hadoop 1.0)和第二代(Hadoop 2.0)。 例如,`hadoop-2.7.2-cdh4.1.2` 表示这是一个基于Hadoop 2.7.2版本的CDH 4.1.2发行版。 **HDFS读写过程**:...
1. 寻址方式:题目中的第一题提到了"MOV AX,[3070H]"指令,这是直接寻址方式,源操作数的地址直接给出。 2. CPU启动地址:8086CPU在Reset信号有效后,会从FFFF0h地址开始执行程序,这是其启动地址。 3. 标志寄存器...
- **第二层**:文档服务器,负责管理视频数据的具体存放位置。 - **第三层**:第三级存储设备,如光盘塔或磁盘阵列,用于存放暂时不常用的数据。 - **中心管理模块**:包括访问接口模块、数据库模块、视频点播管理...
* 图片缓存:将所有商品图片第一次使用时从文件系统中读取并放入缓存,之后每次请求都从缓存中读取。 * 图片按规则存放:将商品图片存放在对应的文件夹中,例如商品图片根目录 -> 馆目录 -> 二级分类目录 -> 三级...
- **操作码的作用**:操作码表征了指令的功能,决定了CPU执行什么样的操作。 - **操作码的数量**:如果操作码字段为n位,则最多可以支持\(2^n\)条指令。 ### 3. 冯·诺依曼计算机体系结构 题目中提到了冯·诺依曼...
第二章 多窗口类浏览器设计 11 2.1 多窗口类浏览器需求分析 11 2.1.1 Activity简介 11 2.1.2 Fragment简介 11 2.1.3 多窗口类浏览器需求 12 2.2 多窗口浏览器模式的实现机制 12 2.2.1安卓移动端多窗口浏览器框架 12 ...
3. **action**:动作或控制器层,这部分代码处理HTTP请求,调用模型进行数据处理,并最终决定返回什么样的视图给用户。在MVC(Model-View-Controller)架构中,这一层起到了桥梁的作用。 4. **data**:可能包含临时...
- **步骤2:**从指定的地址读取指令,并将其加载到指令寄存器(Instruction Register, IR)中。 - **步骤3:**对指令进行解码,并根据解码结果执行相应的操作。 - **程序计数器的作用:** - 存储下一条要执行的指令...
如果消费组中的消费者个数超过topic的分区,那么就会有消费者消费不到数据。但是,可以通过自定义分区分配策略,将一个消费者指定消费所有partition。 八、消费者提交消费位移 消费者提交消费位移时提交的是当前...
第二个子问题是缓存资源分配和文件放置选择优化,即如何在有限的缓存空间中合理地存放文件,并决定在何种情形下选择缓存哪些文件,以及如何放置这些文件以最小化时延。 仿真结果表明,该算法在满足文件最低性能要求...
- POST请求参数放在请求体中,适合提交大量数据,可用于修改或创建资源。 #### 五、atomic与线程安全性 - **知识点概述**:`@synchronized`和`@atomic`都是保证线程安全的机制。 - **atomic线程安全性**:`@...
5. **/var**:存储运行时变化的数据,如日志和缓存。 6. **/dev**:设备文件的集合,允许程序访问硬件设备。 7. **/lib** 和 **/lib64**:存放系统库文件,供程序运行时调用。 了解这些基础知识是掌握Linux的第一步...
2. **磁盘读写**:磁盘与内存之间的数据交换是以簇为单位进行的,簇是文件系统中分配给文件的最小存储单位。 3. **光盘存储器**:光盘分为只读(CD-ROM)、可写(CD-RW)和可一次写多次读(CD-R)等类型,不是所有...
8. `data` 一般用于存储数据库备份、缓存或其他临时数据。 9. `weapp` 可能是微信小程序的相关代码,用于构建与网站配套的小程序应用。 10. `extend` 文件夹可能包含对ThinkPHP框架的扩展或自定义模块。 综合以上...
新框架引入了一些提高性能的功能,例如缓存机制和数据绑定性能改进。开发者可以通过调整这些新功能来优化应用程序的性能。 #### 总结 将ASP.NET 1.x应用程序转换到ASP.NET 2.0是一项复杂但必要的任务,特别是当...
可以无限级设定资讯类别,文章权限控制,什么样的会员级别可以查看,并记录某个会员查看过什么文章。文章标题加粗,变色功能等 品牌模块 品牌可以和类别关联,与产品关联,品牌招商等功能,实现了品牌营销以及快速...