在Hibernate中如何配置二级缓存。

缓存就是把以前从数据库中查询出来和使用过的对象保存在内存中,

当以后要使用某个对象时,首先查询缓存中是否有这个对象,

如果有则使用缓存中的对象,如果没有则去查询数据库,

并将查询出来的对象保存在缓存中,以便下次使用,

而Hibernate中一级缓存session的作用不够明显,

通常用Hibernate的二级缓存,Hibernate的二级缓存是全局缓存。

借助第三方缓存:

比如ehcache、oscache.....

首先需要打开二级缓存,比如用ehcache:

<!--         打开二级缓存 -->
        <property name="hibernate.cache.use_second_level_cache">true</property>
<!--             引入二级缓存支持 -->
        <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>    
<!--         用查询缓存 -->
        <property name="hibernate.cache.use_query_cache">true</property>

时间: 2024-11-05 15:13:13

在Hibernate中如何配置二级缓存。的相关文章

【Hibernate】一级、二级缓存

本文讲述HIbernate中一级.二级缓存的概念以及如何使用. 一.大纲 2.什么是一级缓存 3.一级缓存示例展示 4.二级缓存以及示例展示 5.总结 二.什么是一级缓存 在hibernate中所谓的一级缓存就是session对象,但是一级缓存对提高性能的作用性并不是很大,其session主要的目的是管理实体对象的状态(临时.离线.持久化). 其缓存模型如下图: 三.一级缓存示例 3.1 查询(get,load, HQL) 3.1.1 get/load方法 @Test public void t

Hibernate+EhCache配置二级缓存

步骤: 第一步:加入ehcache.jar 第二步: 在src目录下新建一个文件,名为:ehcache.xml 第三步:在hibernate配置文件的<session-factory>下配置 配置的具体信息: ehcache.xml的具体配置: <?xml version="1.0" encoding="UTF-8"?> <!-- maxEntriesLocalHeap: 在内存中缓存的element的最大数目. maxEntriesL

Hibernate4.1.4配置二级缓存EHCache步骤

1.当然首先引入EHCache相关的jar包 这些包不需要另外下载,在Hibernate官方网站下载Hibernate4.1.7的压缩包(如:hibernate-release-4.1.7.Final.zip)解压,引入hibernate-release-4.1.7.Final\hibernate-release-4.1.7.Final\lib\optional\ehcache目录下的ehcache-core-2.4.3.jar.hibernate-ehcache-4.1.4.Final.jar

SSH整合配置二级缓存

一.了解 Hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但session关闭时,一级缓存失效. 二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache.oscache等 对缓存若想进步了解可参考以下网址http://www.360doc.com/content/10/0917/17/2560742_54412898.shtml 二.配置 1.在applicationC

hibernate的一级和二级缓存

一级缓存就是Session级别的缓存,close后就没了. 二级缓存就是SessionFactory级别的缓存,全局缓存,要配置其他插件. 什么样的数据适合存放到第二级缓存中? 1.很少被修改的数据 2.不是很重要的数据,允许出现偶尔并发的数据 3.不会被并发访问的数据 4.参考数据 不适合存放到第二级缓存的数据? 1.经常被修改的数据 2.财务数据,绝对不允许出现并发 3.与其他应用共享的数据.         Hibernate的二级缓存策略的一般过程如下: 1) 条件查询的时候,总是发出一

mybatis(4)_二级缓存深入_使用第三方ehcache配置二级缓存

增删改对二级缓存的影响 1.增删改也会清空二级缓存 2.对于二级缓存的清空实质上是对value清空为null,key依然存在,并非将Entry<k,v>删除 3.从DB中进行select查询的条件是: 1.缓存中根本不存在这个key 2.存在key对应的Entry,但是value为null 二级缓存的配置 <cache eviction="FIFO" flushInterval="60000" size="512" readOn

Hibernate中的脏检查和缓存清理机制

脏检查 Session到底是如何进行脏检查的呢?当一个Customer对象被加入到Session缓存中时,Session会为Customer对象的值类型的属性复制一份快照.当Session清理缓存时,会先进行脏检查,即比较Customer对象的当前属性与它的快照,来判断Customer对象的属性是否发生了变化,如果发生了变化,就称这个对象是“脏对象”,Session会根据脏对象的最新属性来执行相关的SQL语句,从而同步更新数据库. 脏数据检查: 什么是脏数据?脏数据并不是废弃和无用的数据,而是状

Django中如何配置Database缓存?

BACKEND: django.core.cache.backends.db.DatabaseCache LOCATION: 数据库表名 示例: CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', 'LOCATION': 'my_cache_table', } } Database缓存配置--创建缓存表 使用数据库缓存之前,需要创建缓存表: python manage.py creat

Windows下Apache服务器中自动配置二级子域名

今天我们介绍的这个办法,只需要简单修改 httpd-vhosts.conf 文件,配合 .htaccess 文件即可实现自动配置二级域名. 我们这里以 wpchina.com 为例,以下代码中的 wpchina.com 都可以替换成你自己想要域名. 我们的目标是,不同的子域名可以访问不同目录下的网站: wpchina.com => / : home.wpchina.com => /home: bbs.wpchina.com => /bbs: … 第一步,确认安装好 Apache 服务器,