当前位置: 首页 > news >正文

正品手表官网/惠州百度seo地址

正品手表官网,惠州百度seo地址,centos做网站服务器,站外推广6种方法hibernate 5的二级缓存案例讲解 本帖最后由 鱼丸儿 于 2018-1-20 11:44 编辑大家好,今天来记录讲解一下磕磕绊绊的hibernate5 的二级缓存配置,一条路摸到黑 那么在这之前我们先了解一下hibernate的一级缓存和二级缓存分别是什么? 说句通俗的话…

hibernate 5的二级缓存案例讲解

本帖最后由 鱼丸儿 于 2018-1-20 11:44 编辑

大家好,今天来记录讲解一下磕磕绊绊的hibernate5 的二级缓存配置,一条路摸到黑 
那么在这之前我们先了解一下hibernate的一级缓存和二级缓存分别是什么? 
说句通俗的话就是 一级缓存的信息只能在同一个session间传递,而二级缓存是不同的session间可以访问的,可以跨越Session存在,可以被多个Session所共享。需要第三方缓存框架的加持 

那么什么数据适合放到二级缓存中呢? 
便是那些不经常改动又经常被访问的数据,比如省市信息等,前台页面经常查询而没必要每次都要去数据库查询! 

那么有什么三方框架可以支持hibernate的二级缓存呢?
 
EHCache: 可作为进程范围内的缓存,存放数据的物理介质可以是内存或硬盘,对Hibernate的查询缓存提供了支持 
OpenSymphony:可作为进程范围内的缓存,存放数据的物理介质可以是内存或硬盘,提供了丰富的缓存数据过期策略,对Hibernate的查询缓存提供了支持 
SwarmCache:可作为集群范围内的缓存,但不支持Hibernate的查询缓存 
JBossCache:可作为集群范围内的缓存,支持Hibernate的查询缓存 

好,那么我们接下来就以EHCache来介绍一下hibernate二级缓存的用法 

第一步:导入jar包(jar包附件给出) 
[Java] 纯文本查看 复制代码
?
1
2
3
ehcache-core-2.4.3.jar 
hibernate-ehcache-5.0.7.Final.jar 
commons-logging-1.1.1.jar


第二步:声明缓存(在hibernate.cfg.xml 中配置) 
[XML] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
<!-- 使用二级缓存 --> 
<property name="hibernate.cache.use_second_level_cache">true</property
<!--设置缓存的类型,设置缓存的提供商 --> 
<property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</property
<!--但是在 hibernate 4中设置缓存提供商时是这样设置的 
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>--> 
<property name="hibernate.cache.use_query_cache">true</property>


第三步:需要设置EHCache配置文件 
[XML] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd" 
   
 <diskStore path="C:/ehcache"/><!-- 需要在你的磁盘里面添加该目录 --> 
         <defaultCache     
            maxElementsInMemory="10000"  
            eternal="false"   
            timeToIdleSeconds="120"  
            timeToLiveSeconds="120"  
            overflowToDisk="true"  
            maxElementsOnDisk="10000000"  
            diskExpiryThreadIntervalSeconds="120"   
            memoryStoreEvictionPolicy="LRU"    
            />   
</ehcache>


第四步:指定什么对象也就是model可以加入缓存 
有两种配置方式,可以在hbm中创建安,也可以在cfg文件中创建 
我们这里就以cfg文件配置为例 

[XML] 纯文本查看 复制代码
?
1
2
3
4
<class-cache usage="read-write" class="cn.patronli.domain.Order"/> <!-缓存的是对象- 
<collection-cache usage="read-write" collection="cn.patronli.domain.Customer.orders"/> <!-缓存的是集合- 
   
为了保险起见 我们需要给相对应的model  实现一个序列化接口 implements Serializable


那么如何在hbm中设置呢?需要再class后紧跟缓存配置,如下所示 
[XML] 纯文本查看 复制代码
?
1
2
<class name="Customer" table="t_customer" catalog="hibernateTest" lazy="true"
    <cache usage="read-write"/>


以上配置二选一 !!!! 

那么最后我们就可以来进行测试了 
[Java] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
public static void main(String[] args) {   
             
        Session s1 = HibernateUtils.openSession(); 
        s1.beginTransaction();   
        Customer c1 = (Customer) s1.get(Customer.class, 1); // 从数据库中加载数据   
        System.out.println(c1.getName()); 
        s1.getTransaction().commit();   
        s1.close(); // 关闭session级别的一级缓存   
     
        Session s2 = HibernateUtils.openSession(); 
        s2.beginTransaction();   
        Customer c2 = (Customer) s2.get(Customer.class, 1); // 因为有了二级缓存的存在,并不会去查询数据库可以debug  观察控制台打印 
        System.out.println(c2.getName());   
    }


不知道你学会了没有?

转载于:https://www.cnblogs.com/bigben0123/p/8968949.html

http://www.lbrq.cn/news/1074781.html

相关文章:

  • wordpress 设置显示中文/seo建站技术
  • 宁夏建设教育协会网站/广州公关公司
  • 做机械一般做那个外贸网站/推广网络广告
  • 学做网站的书哪些好/安徽网站关键词优化
  • 网站建设的主题什么比较好/如何做电商
  • 投资网站怎么做/百度地图轨迹导航
  • 移动互联网站开发/合肥关键词排名技巧
  • 贵阳网站建设网站制作/内存优化大师
  • html语言大型网站开发/seo网络推广是什么意思
  • 设计做网站/自媒体推广渠道
  • 邯郸建设信息网站/推广网址
  • 产品设计排名/seo综合查询接口
  • 网站建设图片/信阳网站seo
  • 优化型网站建设/seo整站优化解决方案
  • 提高网站流量原则/网络营销策划书1000字
  • 0539 网站/百度人工服务24小时电话
  • 做网站怎么还用身份证/关键词汇总
  • 任县城乡建设局网站/石家庄
  • 网页设计基础知识试题/seo内容优化是什么
  • 佛山网站建设网站制作公司/seo营销专员
  • 所得税汇算是在12366网站做吗/seo推广排名重要吗
  • 如何获取免费的wordpress/廊坊百度快照优化排名
  • 湛江网站制作公司/bt磁力猪
  • 基金会网站开发方案/公司网页怎么制作
  • 网站改版百度提交/关键词优化武汉
  • 深圳做百度网站/b站推广网站入口mmm
  • 用js做的个人酷炫网站/百度数据指数
  • 网站丢失了怎么办/2022年新闻摘抄简短
  • 描述网站开发的广告词/用今日头条导入自己网站外链
  • 做网站的软件多少钱/站内关键词自然排名优化
  • python学智能算法(三十一)|SVM-Slater条件理解
  • 机械臂的轨迹生成的多种方案
  • Cesium性能优化
  • Springboot 配置 doris 连接
  • Gitee
  • 网络编程-加密算法