paulwong

          JPA使用memcached的2級緩存的配置


          1.加入hibernate-memcached.jar及相關jar包
          hibernate-memcached需要支持的類庫如下:
          hibernate-memcached-.jar ,
          memcached-2.1.jar
          spy-2.4.jar
          commons-codec 1.3 .
          slf4j-1.5.0.jar 如果你的項目使用的是Log4j,可以用 slf4j-log4j12-1.5.0.jar

          2.在applicationContext.xml中配置

          <bean id="entityManagerFactory"
                  class
          ="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
                  
          <property name="dataSource" ref="dataSource" />
                  
          <property name="jpaVendorAdapter">
                      
          <bean
                          
          class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                          
          <property name="showSql" value="${jpa.showSql}" />
                          
          <property name="generateDdl" value="${jpa.generateDdl}" />
                          
          <property name="database">
                              
          <util:constant
                                  
          static-field="org.springframework.orm.jpa.vendor.Database.ORACLE" />
                          
          </property>
                      
          </bean>
                  
          </property>
                  
          <property name="jpaProperties">
                      
          <props>
                          
          <prop key="hibernate.max_fetch_depth">3</prop>
                          
          <prop key="hibernate.cache.use_second_level_cache">
                              true
                          
          </prop>
                          
          <prop key="hibernate.cache.use_structured_entries">
                              true
                          
          </prop>
                          
          <prop key="hibernate.cache.use_query_cache">true</prop>
                          
          <prop key="hibernate.cache.provider_class">
                              com.googlecode.hibernate.memcached.MemcachedCacheProvider
                          
          </prop>
                          
          <prop key="hibernate.memcached.servers">
                              10.1.19.132:33001 10.1.19.132:33002 10.1.19.132:33003
                          
          </prop>
                      
          </props>
                  
          </property>
              
          </bean>


          3.在實體類上配置緩存策略

          @org.hibernate.annotations.Cache(usage =CacheConcurrencyStrategy.READ_WRITE)  

          下面這幾種情況就不適合加載到二級緩存中:
          1.經常被修改的數據
          2.絕對不允許出現并發訪問的數據
          3.與其他應用共享的數據
          下面這己種情況合適加載到二級緩存中:
          1.數據更新頻率低
          2.允許偶爾出現并發問題的非重要數據 
          3.不會被并發訪問的數據
          4.常量數據
          5.不會被第三方修改的數據

          posted on 2011-02-16 11:10 paulwong 閱讀(1913) 評論(0)  編輯  收藏 所屬分類: HIBERNATE

          主站蜘蛛池模板: 阿荣旗| 鄂托克前旗| 醴陵市| 延寿县| 左权县| 永清县| 仁化县| 枣强县| 建瓯市| 高州市| 蒙山县| 吉木萨尔县| 凤阳县| 体育| 安远县| 随州市| 定西市| 平定县| 五常市| 社会| 杂多县| 噶尔县| 晋宁县| 湘阴县| 高唐县| 东乌珠穆沁旗| 会理县| 屏南县| 大同市| 桂东县| 商洛市| 鄱阳县| 巧家县| 清水河县| 通州区| 鹿泉市| 岳阳县| 旺苍县| 湟源县| 靖宇县| 长汀县|