mybatis增加ehcache快取

2022-02-03 11:21:10 字數 2889 閱讀 5967

之前springmvc和mybatis整合的例子:

為mybatis新增ehcache快取,參考的

pom新增:

net.sf.ehcache

ehcache

2.8.3

org.mybatis

mybatis-ehcache

1.0.0

<?

xml version="1.0" encoding="utf-8"

?>

<

ehcache

xmlns:xsi

=""xsi:nonamespaceschemalocation

="../bin/ehcache.xsd"

>

<

defaultcache

overflowtodisk

="true"

eternal

="false"

maxelementsinmemory

="1"

/>

<

diskstore

path

="s:/cache"

/>

ehcache

>

<

cache

type

="org.mybatis.caches.ehcache.loggingehcache"

>

<

property

name

="timetoidleseconds"

value

="3600"

/>

<

property

name

="timetoliveseconds"

value

="3600"

/>

<

property

name

="maxentrieslocalheap"

value

="1000"

/>

<

property

name

="maxentrieslocaldisk"

value

="10000000"

/>

<

property

name

="memorystoreevictionpolicy"

value

="lru"

/>

cache

>

這樣就新增完了,之後看下效果:

首先把txtestservice類下的throw new runtimeexception();注釋掉,因為現在需要進行批量插入資料。

開啟http://localhost:8080/test/druid/sql.html這個介面看sql查詢

然後開啟http://localhost:8080/test/txtest.do 進行插入資料

之後能在druid的監控頁面看到執行了100次insert。

然後開啟http://localhost:8080/test/indexlist.do

之後能在druid的監控頁面看到執行了1次select。

之後關閉瀏覽器,或者新開小號視窗,隱私視窗之類的再次訪問

發現在druid的監控介面依然只有1次select。

再開啟http://localhost:8080/test/txtest.do 進行插入資料。

druid監控的insert變為200次。

訪問http://localhost:8080/test/indexlist.do

之後看druid可以發現再次執行了1次select,總共select變為了2次

再開啟http://localhost:8080/test/indexlist.do

select次數依舊是2次。

這樣應該就能說明快取正常開啟了。

現在還有個問題,暫時還沒解決,快取髒讀取的問題:

如果我利用這個新的物件對user表進行操作。

繼而想到,表操作很多都是關聯操作,這樣的快取肯定存在一定問題,

尋求解決方案中。

又試了下:

即把配置放到ehcache.xml中:

<?

xml version="1.0" encoding="utf-8"

?>

<

ehcache

xmlns:xsi

=""xsi:nonamespaceschemalocation

="../bin/ehcache.xsd"

>

<

defaultcache

overflowtodisk

="true"

eternal

="false"

maxelementsinmemory

="1"

timetoliveseconds

="10"

maxentrieslocalheap

="1000"

maxentrieslocaldisk

="10000000"

memorystoreevictionpolicy

="lru"

/>

<

diskstore

path

="s:/cache"

/>

ehcache

>

這樣timetoliveseconds就起作用了。

10秒重新整理。

暫時覺得就先這樣解決快取髒讀取的問題吧

MyBatis快取之二級快取 ehcache整合

二級快取允許手動管理 首先,二級快取可以跨session,只要在乙個sessionfactory範圍之內則允許跨session,但要想使用二級快取,需要手動進行配置 在 sqlmapconfig.xml 配置檔案中新增如下配置 包括之前的配置我一併貼上來了 也就是說,在mybatis框架中,只要是關...

ehcach快取問題

下面是我快取的配置檔案 我的測試 是 cachemanager manager1 new cachemanager ehcache.xml cache memoryonlycache manager1.getcache signal for int i 0 i 100000 i system.out...

mybatis之增加操作

1 切記切記 在impl類中一定要機上 session.commit 否則他不會提交 若沒有寫session.commit 則更新的資料沒有進行更新 進行add和update必須進行session.commit 2 就是內個id總是報null 那原因是為什麼呢?我的原因就是因為 沒有session....