`

spring缓存 ehcache

阅读更多

          ehcache 与spring集成实现简单的数据集缓存,事例是在ssh集成上实现,不对ssh做阐述。

 

1 : lib追加jar包

       ehcache-1.2.4.jar

 

2 : applicationContext-service.xml

      <bean id="GatewayIPManager"                          class="cn.com.superv.netmessage.oam.web.manager.GatewayIPManager">

        <property name="transactionManager">

            <ref bean="transactionManager" />

        </property>

        <property name="interProtocolDAO">

            <ref bean="InterProtocolDAO" />

        </property>

        <!-- 缓存对象-->

        <property name="gatewayIPCache" ref="GatewayIPManagerBean"/>

    </bean>

3 : applicationContext-cache.xml  缓存事例配置文件

     <?xml version="1.0"?>

     <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

        "http://www.springframework.org/dtd/spring-beans.dtd">

 

      <beans>

<!-- 缓存管理 -->

      <bean id="cacheManager"

         class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">

         <property name="configLocation"

            value="WEB-INF/ehcache.xml">

         </property>

       </bean>

 

       <bean id="GatewayIPManagerBean"       class="org.springframework.cache.ehcache.EhCacheFactoryBean">

          <property name="cacheManager" ref="cacheManager"></property>

          <property name="cacheName" value="GatewayIPManager"></property>

        </bean>

      </beans>

 

4  : WEB-INF中添加ehcache.xml 缓冲对象属性配置 
        <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="ehcache.xsd">
          <diskStore path="java.io.tmpdir"/>
          <!-- 
          maxElementsInMemory:  最大缓存100个对象 
                    eternal:不是永久有效
             overflowToDisk:缓存满了不写的磁盘
          timeToIdleSeconds:180秒后没有读就失效
          timeToLiveSeconds:300秒后失效
          memoryStoreEvictionPolicy:当缓存数达到最大,将移除使用最少的缓存对象
          -->
         <!-- 默认缓存设置 -->
        <defaultCache
            maxElementsInMemory="10000"
            eternal="false"
            timeToIdleSeconds="180"
            timeToLiveSeconds="300"
            overflowToDisk="true"
            memoryStoreEvictionPolicy="LRU"
            />
         <!-- 缓存设置 -->
        <cache name="GatewayIPManager"
           maxElementsInMemory="100"
           eternal="false"
           overflowToDisk="false"
           timeToIdleSeconds="300"
           timeToLiveSeconds="600"
           memoryStoreEvictionPolicy="LFU"
           />
        </ehcache>


5  : GatewayIPManager class编写
        private Cache gatewayIPCache ; 
public void setGatewayIPCache(Cache gatewayIPCache) {
this.gatewayIPCache = gatewayIPCache;
}
private InterProtocolDAO interProtocolDAO ;
    
public void setInterProtocolDAO(InterProtocolDAO interProtocolDAO) {
this.interProtocolDAO = interProtocolDAO;
}


       public boolean isExist(String wapip){
   
        if (StringUtils.isEmpty(wapip)){
         throw new NullPointerException("param 'wapid' can't be null ! ");
     }
        List<String> wapIPList = null ;
       //如果缓存对象不存在,去数据库中获取
           Element element = gatewayIPCache.get(wapip);
           if (element == null) {
               wapIPList = interProtocolDAO.getInterProtocolsByType(InterProtocol.WAP_IP);
               element = new Element(wapip, wapIPList);
               gatewayIPCache.put(element);
               if (log.isInfoEnabled()) {
                   log.info("----------数据列表加载到缓存中-------------");
               }
            }
            wapIPList = (List<String>) element.getValue();
        return wapIPList.contains(wapip);
   
         }


         
 
1
0
分享到:
评论

相关推荐

    spring + ehcache + redis两级缓存

    当我们谈论“Spring + Ehcache + Redis”两级缓存时,我们实际上是在讨论如何在Java环境中利用Spring框架来集成Ehcache作为本地缓存,并利用Redis作为分布式二级缓存,构建一个高效且可扩展的缓存解决方案。...

    spring缓存ehcache

    Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中...

    Spring+Ehcache集成

    本篇文章将详细介绍如何在Spring项目中集成Ehcache,以及如何通过Spring的AOP(面向切面编程)实现方法级别的缓存注解。 首先,我们需要在项目中引入Ehcache的依赖。通常,这可以通过在`pom.xml`文件中添加Maven...

    Spring+EhCache缓存实例

    **Spring+EhCache缓存实例详解** 在现代的Java企业级应用中,缓存技术扮演着至关重要的角色,它能够显著提升系统性能,减少数据库负载。Spring框架与EhCache的结合,为开发者提供了一种高效、易用的缓存解决方案。...

    Spring 与Ehcache实现基于方法的缓存

    本篇文章将详细探讨如何在Spring框架中集成并实现基于方法的缓存机制,利用Ehcache来优化数据访问。 首先,我们需要理解Spring的AOP概念,AOP允许我们定义横切关注点,如日志、事务管理或,正如在这个案例中,缓存...

    spring+ehcache示例整合Demo

    Ehcache通常使用的是`org.ehcache:ehcache`库,而Spring的相关依赖可能包括`spring-context`和`spring-context-support`,以支持缓存管理。 ```xml &lt;groupId&gt;org.springframework &lt;artifactId&gt;spring-context ...

    Spring AOP+ehCache简单缓存系统解决方案

    在本篇【Spring AOP+ehCache简单缓存系统解决方案】中,我们将探讨如何利用Spring AOP(面向切面编程)和ehCache框架来构建一个高效、简单的缓存系统,以提升应用程序的性能。ehCache是一款流行的开源Java缓存库,它...

    Spring 缓存

    Spring 缓存机制的实现主要有两种方法:使用 Spring 与 Ehcache 结合,使用注解的方式对指定的方法进行缓存;封装 Guava 缓存,使用 Guava 包中的缓存机制。 方法一:使用 Spring 与 Ehcache 结合 使用 Spring 与 ...

    spring+ehcache demo

    4. **启用Spring缓存注解** 在Spring中,我们可以使用注解来声明哪些方法的结果应该被缓存。首先,启用缓存注解支持: ```xml &lt;beans xmlns:cache="http://www.springframework.org/schema/cache" xmlns:xsi=...

    Spring与ehcache结合使用

    ##### 3.3 使用Spring缓存注解 Spring提供了三个主要的缓存注解:`@Cacheable`、`@CachePut`和`@CacheEvict`,用于简化缓存的管理。 - **@Cacheable**:此注解用于标记方法,当该方法被调用时,其结果会被缓存。...

    spring整合EhCache 的简单例子

    Spring 整合 EhCache 是一个常见的缓存管理方案,它允许我们在Spring应用中高效地缓存数据,提高系统性能。EhCache 是一个开源、基于内存的Java缓存库,适用于快速、轻量级的数据存储。现在我们来详细探讨如何在...

    Ehcache分布式缓存与其在SpringBoot应用

    Ehcache是一个高性能的、基于Java的进程内缓存解决方案,它被广泛应用于各种Java应用程序,包括Java EE和轻量级容器。Ehcache的主要优势在于它的快速响应、易用性和丰富的缓存策略。它提供了两种级别的缓存存储:...

    spring+ehcache

    在IT行业中,Spring框架是Java企业级应用开发的首选,而Ehcache则是一个流行的、高性能的缓存系统。本文将深入探讨如何将Ehcache与Spring进行整合,以提高应用程序的性能和效率,主要基于提供的"spring+ehcache"入门...

    spring整合ehcache的完整用例

    Spring整合Ehcache是将Ehcache作为Spring应用的缓存解决方案,以提高应用程序的性能和效率。Ehcache是一个广泛使用的开源Java分布式缓存,它支持内存和磁盘存储,具有缓存热备、缓存复制等功能。下面将详细介绍...

    spring整合ehCache

    Spring整合EhCache是将EhCache作为一个缓存解决方案与Spring框架进行集成,以提高应用程序的性能和效率。EhCache是一款开源、轻量级的Java缓存库,广泛用于缓存中间件,以减少数据库访问,提升系统响应速度。 在...

    spring+ehcache完整示例demo

    在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而Ehcache则是一种广泛使用的内存缓存系统,常与Spring搭配用于提升应用性能。本示例旨在通过一个完整的Spring集成Ehcache的Demo,帮助开发者理解如何...

    整合spring 和ehcache

    配置ehcache缓存,存储内存的设置,与spring 的整合等

    Ehcache(一): Spring + Ehcache开场白

    这通常包括ehcache-core或ehcache-spring-annotations库,如果需要分布式缓存功能,还需引入terracotta-ehcache-server或相关的分布式缓存服务。 配置Ehcache,我们可以在Spring的配置文件中定义一个`CacheManager`...

    spring-ehcache-redis两级缓存

    两级缓存在redis的方案上做一步优化,在缓存到远程redis的同时,缓存一份到本地进程ehcache(此处的ehcache不用做集群,避免组播带来的开销),取缓存的时候会先取本地,没有会向redis请求,这样会减少应用服务器&lt;–...

    spring2.5整合ehcache2.0使用

    在本文中,我们将深入探讨如何将Spring 2.5与Ehcache 2.0进行集成,以便在我们的应用程序中实现高效、可扩展的缓存管理。Ehcache是一款广泛使用的开源Java缓存解决方案,而Spring框架则为它提供了一个方便的集成层,...

Global site tag (gtag.js) - Google Analytics