복붙노트

[SPRING] 봄 : 최대 절전 모드 + ehcache

SPRING

봄 : 최대 절전 모드 + ehcache

나는 ehcache를 사용하여 2 차 레벨 캐시를 구현하기 위해 hibernate와 look을 사용하는 스프링 프로젝트로 일하고있다. 이것에 대한 많은 접근법을 볼 수 있습니다 :

개인적으로 나는 spring-modules-cache가 철저하다고 생각하지 않는다. 그러므로 더 적극적으로 개발 된 ehcache-spring-annotation을 더 선호 할 것이다. 최대 절전 모드 캐시는 가장 완벽한 구현 (예 : 읽기 및 쓰기 캐시 등) 인 것으로 보입니다.

어떤 도구 집합을 사용하게 될까요? 캐싱 경험을 공유하십시오 ...

해결법

  1. ==============================

    1.우리 프로젝트는 옵션 3을 사용한다. 우리는 Ehcache에서 캐시하는 엔티티에 주석 org.hibernate.annotations.Cache를 적용하고, ehcache.xml을 사용하여 Ehcache를 구성하고, hibernate.cfg.xml에서 Hibernate 2 차 레벨 캐시를 활성화 및 구성한다.

    우리 프로젝트는 옵션 3을 사용한다. 우리는 Ehcache에서 캐시하는 엔티티에 주석 org.hibernate.annotations.Cache를 적용하고, ehcache.xml을 사용하여 Ehcache를 구성하고, hibernate.cfg.xml에서 Hibernate 2 차 레벨 캐시를 활성화 및 구성한다.

        <!-- Enable the second-level cache  -->
        <property name="hibernate.cache.provider_class">
            net.sf.ehcache.hibernate.EhCacheProvider
        </property>
        <property name="hibernate.cache.region.factory_class">
            net.sf.ehcache.hibernate.EhCacheRegionFactory
        </property>
        <property name="hibernate.cache.use_query_cache">true</property>
        <property name="hibernate.cache.use_second_level_cache">true</property>
        <property name="hibernate.cache.use_structured_entries">true</property>     
        <property name="hibernate.cache.generate_statistics">true</property>
    

    대부분의 엔터티의 경우 캐시 동시성 전략 인 CacheConcurrencyStrategy.TRANSACTIONAL을 사용합니다.

    @Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
    

    우리의 Maven 프로젝트는 Hibernate 3.3.2GA와 Ehcache 2.2.0을 사용합니다 :

        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
            <version>2.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.3.2.GA</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-commons-annotations</artifactId>
            <version>3.3.0.ga</version>
            <exclusions>
                <exclusion>
                    <groupId>net.sf.ehcache</groupId>
                    <artifactId>ehcache</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-annotations</artifactId>
            <version>3.2.1.ga</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>ejb3-persistence</artifactId>
            <version>3.3.2.Beta1</version>
        </dependency>
    
  2. ==============================

    2.스프링 3.1에는 새로운 내장 캐시 추상화 기능이 있습니다. 여기를 읽으십시오.

    스프링 3.1에는 새로운 내장 캐시 추상화 기능이 있습니다. 여기를 읽으십시오.

  3. from https://stackoverflow.com/questions/5270998/spring-hibernate-ehcache by cc-by-sa and MIT license