zoukankan      html  css  js  c++  java
  • 13、Hibernate的二级缓存

    1、hibernate.cfg.xml文件的配置

            <!-- 设置二级缓存为true -->
            <property name="hibernate.cache.use_second_level_cache">true</property>
            <!--设置相应的查询缓存 -->
            <property name="hibernate.cache.use_query_cache">true</property>
            <!-- 设置二级缓存所提供的类 -->
            <property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>
            <!-- 在hibernate4.0之后需要设置facotory_class,这是高速缓存提供程序,
                 并且在Hibernate4都封装在了 Hibernate4以后都封装到org.hibernate.cache.ehcache.EhCacheRegionFactory -->
            <property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
            <!-- 说明ehcache的配置文件路径 -->
            <property name="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</property>

    2、ehcache.xml的文件的配置

    <ehcache>
    
        
        <diskStore path="d:/cache"/>
    
    
       
        <defaultCache
            maxElementsInMemory="10000"
            eternal="false"
            timeToIdleSeconds="120"
            timeToLiveSeconds="120"
            overflowToDisk="true"
            />
    
       
       <!-- 每一个独立的cache可以单独为不同的对象进行设置 -->
        <cache name="org.zttc.itat.model.Student"
            maxElementsInMemory="10000"
            eternal="false"
            timeToIdleSeconds="300"
            timeToLiveSeconds="600"
            overflowToDisk="true"
            />
    
        <!-- Sample cache named sampleCache2
            This cache contains 1000 elements. Elements will always be held in memory.
            They are not expired. -->
        <cache name="sampleCache2"
            maxElementsInMemory="1000"
            eternal="true"
            timeToIdleSeconds="0"
            timeToLiveSeconds="0"
            overflowToDisk="false"
            /> -->
    
        <!-- Place configuration for your caches following -->
    
    </ehcache>

     cache参数详解: 
    ● name:指定区域名 
    ● maxElementsInMemory :缓存在内存中的最大数目 
    ● maxElementsOnDisk:缓存在磁盘上的最大数目 
    ● eternal :设置是否永远不过期 
    ● overflowToDisk : 硬盘溢出数目 
    ● timeToIdleSeconds :对象处于空闲状态的最多秒数后销毁 
    ● timeToLiveSeconds :对象处于缓存状态的最多秒数后销毁 
    ● memoryStoreEvictionPolicy:缓存算法,有LRU(默认)、LFU、LFU 

    关于缓存算法,常见有三种: 
    ● LRU:(Least Rencently Used)新来的对象替换掉使用时间算最近很少使用的对象 
    ● LFU:(Least Frequently Used)替换掉按命中率高低算比较低的对象 
    ● LFU:(First In First Out)把最早进入二级缓存的对象替换掉 

  • 相关阅读:
    js函数——倒计时模块+无缝滚动
    一步步编写avalon组件02:分页组件
    mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理
    只用css实现“每列四行,加载完一列后数据自动填充到下一列”的效果
    某考试 T1 arg
    vijos 2035 奇数偶数与绚丽多彩的数
    bzoj 5093: [Lydsy1711月赛]图的价值
    [HEOI2016/TJOI2016]求和
    [TJOI2015]概率论
    Codeforces 616 E Sum of Remainders
  • 原文地址:https://www.cnblogs.com/zhangbaowei/p/4869909.html
Copyright © 2011-2022 走看看