mybatis學習筆記(八) 快取機制

2021-09-05 12:36:12 字數 1617 閱讀 4111

@test

public

void

testfirstlevelcache()

throws ioexception

finally

}

不同namespace查出的資料會放在自己對應的快取中(map)

開啟全域性二級快取配置:

eviction

="fifo"

flushinterval

="60000"

readonly

="false"

size

="1024"

>

cache

>

我們的 pojo 需要實現序列化介面

1.

public

class

department

implements

serializable

2.public

class

employee

implements

serializable

@test

public

void

testsecondlevelcache()

throws ioexception

finally

}

【每個增刪改標籤的:flushcache=「true」:(一級二級都會清除)】

sqlsession.clearcache();只是清除當前session的一級快取

localcachescope:本地快取作用域:(一級快取session);當前會話的所有資料儲存在會話快取中; statement:可以禁用一級快取;

匯入第三方快取包即可;

匯入與第三方快取整合的適配包;官方有;

<?xml version="1.0" encoding="utf-8"?>

xmlns:xsi

=""xsi:nonamespaceschemalocation

="../config/ehcache.xsd"

>

path

="d:\44\ehcache"

/>

maxelementsinmemory

="10000"

maxelementsondisk

="10000000"

eternal

="false"

overflowtodisk

="true"

timetoidleseconds

="120"

timetoliveseconds

="120"

diskexpirythreadintervalseconds

="120"

memorystoreevictionpolicy

="lru"

>

defaultcache

>

ehcache

>

MyBatis學習總結(八) 快取機制

mybatis提供了快取機制減輕資料庫壓力,提高資料庫效能 mybatis的快取分為兩級 一級快取 二級快取 一級快取是sqlsession級別的快取,快取的資料只在sqlsession內有效 一級快取 mybatis的一級快取是sqlsession級別的快取,在運算元據庫的時候需要先建立sqlse...

MyBatis學習 快取

將資料存放在程式記憶體中,極大地提公升了程式讀寫資料的速度 mybatis提供快取,用於減輕資料查詢的壓力,提高效能 sqlsession級別的快取 每個session對應乙個快取 一級快取是sqlsession級別的快取。在運算元據庫時需要構造 sqlsession物件,在物件中有乙個 記憶體區域...

mybatis學習 快取

一級快取 1.首先讓我們來證明一級快取的存在。使用者持久層dao 我們可以發現,雖然在上面的 中我們查詢了兩次,但最後只執行了一次資料庫操作,這就是 mybatis 提供給我們的一級快取在起作用了。因為一級快取的存在,導致第二次查詢 id 為 55 的記錄時,並沒有發出 sql 語句從資料庫中查詢資...