生活随笔
收集整理的這篇文章主要介紹了
Hibernate+Spring整合使用二级缓存
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.選擇緩存的實現 我們一般選擇輕量級的EHCache,在hibernate.cft.xml里面的<session-factory>里面配置如下
????
??<property?name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>?????<property?name="hibernate.cache.use_second_level_cache">true</property>???? ?或者已經把hibernate整合到spring中去的,在spring的配置文件applicatioContext.xml中配置如下
?
<property?name="hibernateProperties">?????????????<props>?????????????????<!--此處用來定義hibernate的SessionFactory的屬性:?????????????????????????不同數據庫連接,啟動時選擇create,update,create-drop-->?????????????????<prop?key="hibernate.dialect">?????????????????????org.hibernate.dialect.MySQL5Dialect?????????????????</prop>?????????????????<prop?key="hibernate.hbm2ddl.auto">update</prop>?????????????????<prop?key="hibernate.cache.provider_class">?????????????????????org.hibernate.cache.EhCacheProvider?????????????????</prop>??????????????????????????????????<prop?key="hibernate.cache.use_second_level_cache">true</prop>??????????????????????????????????<prop?key="hibernate.cache.use_query_cache">true</prop>?????????????</props>?????????</property>? 2,選擇在相應的映射文件中或者說在對相應的表進行操作時使用二級緩存并指定緩存的策略,例如指定緩存策略為?? read-write;
???
<?xml?version="1.0"?>?<!DOCTYPE?hibernate-mapping?PUBLIC??????"-//Hibernate/Hibernate?Mapping?DTD?3.0//EN"?????"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">?<hibernate-mapping?package="com.bbs.entity">???<class?name="User">???????<cache?usage="read-write"/>?????????<id?name="user_id">?????????<generator?class="identity"></generator>??????</id>??????<property?name="user_name"></property>??????<property?name="user_password"></property>??????<property?name="user_mailbox"></property>??????<property?name="user_p_w_picpath"></property>??????<property?name="user_register_date"></property>??????<property?name="user_articles"></property>???</class>?</hibernate-mapping>? 3,在類路徑下面進行EHCache的配置,建立ehchache.xml配置緩存的參數。
<ehcache>?????<diskStore?path="java.io.tmpdir"?/>?????<defaultCache?maxElementsInMemory="10000"?eternal="false"?????????timeToIdleSeconds="120"?timeToLiveSeconds="120"?overflowToDisk="true"?????????diskPersistent="false"?diskExpiryThreadIntervalSeconds="120"?????????memoryStoreEvictionPolicy="LRU"?/>?</ehcache>? 4.別忘了加相應的包:spring-framework-2.5.6\lib\ehcache\ehcache-1.5.0.jar 還有依賴包spring-framework-2.5.6\lib\concurrent\backport-util-concurrent.jar。
配置完成了,不過我的數據庫沒設計好,昨天晚上一直是“too many connections”或者直接“out of memory”,現在考慮是用二級緩存,這種情況很少出現,不過提升的不是很高。
轉載于:https://blog.51cto.com/movedo/454064
總結
以上是生活随笔為你收集整理的Hibernate+Spring整合使用二级缓存的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。