Spring ehcache
1、ehcache.xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache dynamicConfig="false" monitoring="off" updateCheck="false"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd">
    
    <!-- 定义缓存策略
		eternal="false"   				// 元素是否永恒,如果是就永不过期(必须设置)
	  	maxEntriesLocalHeap="1000" 		// 堆内存中最大缓存对象数,0没有限制(必须设置)
	  	overflowToDisk="false"  		// 当缓存达到maxElementsInMemory值是,是否允许溢出到磁盘(必须设置)
	  	diskPersistent="false"  		// 磁盘缓存在VM重新启动时是否保持(默认为false)
	  	timeToIdleSeconds="0" 			// 导致元素过期的访问间隔(秒为单位). 当eternal为false时,这个属性才有效,0表示可以永远空闲,默认为0
	  	timeToLiveSeconds="600" 		// 元素在缓存里存在的时间(秒为单位). 0 表示永远存在不过期
	  	memoryStoreEvictionPolicy="LFU" // 当达到maxElementsInMemory时,如何强制进行驱逐默认使用"最近使用(LRU)"策略,其它还有先入先出FIFO,最少使用LFU,较少使用LRU
   -->
    <defaultCache eternal="false" maxEntriesLocalHeap="0" timeToIdleSeconds="300" timeToLiveSeconds="300"/>
	<cache name="myCache" maxEntriesLocalHeap="1000" />
</ehcache>
2、servlet-context.xml
<!-- 缓存配置(两种) --> 
    <!-- 启用缓存注解功能(请将其配置在Spring主配置文件中) -->  
    <cache:annotation-driven cache-manager="cacheManager"/>  
    <!-- Spring自己的基于java.util.concurrent.ConcurrentHashMap实现的缓存管理器(该功能是从Spring3.1开始提供的) -->  
    <!--
    <bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">  
        <property name="caches">  
            <set>  
                <bean name="myCache" class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"/>  
            </set>  
        </property>  
    </bean>  -->
  
    <!-- 若只想使用Spring自身提供的缓存器,则注释掉下面的两个关于Ehcache配置的bean,并启用上面的SimpleCacheManager即可 -->  
    <!-- Spring提供的基于的Ehcache实现的缓存管理器 -->  
     <bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">  
        <property name="configLocation" value="classpath:spring/ehcache.xml"/>  
    </bean>  
    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">  
        <property name="cacheManager" ref="cacheManagerFactory"/>  
    </bean>  
3、
// 查询患者信息
	@Cacheable(value = "myCache", key = "#idCardNo")
	public List<ResBasicItem> queryPatientDiseaseByCardNo(String idCardNo) throws Exception {
}
 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号