< Select id = "selectStudentById" resultType = "estudante" parameterType = "Integer" useCache = "false" > SELECT * FROM estudante onde stuno = # {stuno} </ selecionar >
0,2) Limpeza: mesmo cache tampão de limpeza
. 1 SqlSession.close () serão registadas como um cache; (adições e deleções executará um rebentando-cache; razões de construção para produzir dados sujo)
<! - https://mvnrepository.com/artifact/net.sf.ehcache/ehcache-core -> < dependência > < groupId > net.sf.ehcache </ groupId > < artifactId > ehcache-core </ artifactId > < versão > 2.6.11 </ versão > </ dependência > <! - https://mvnrepository.com/artifact/org.mybatis.caches/mybatis-ehcache -> < dependência > < groupId > org.mybatis .caches </groupId > < artifactId > MyBatis-ehcache </ artifactId > < versão > 1.0.3 </ versão > </ dependência > <! - https://mvnrepository.com/artifact/org.slf4j/slf4j-api -> < dependência > < groupId > org.slf4j </ groupId > < artifactId > slf4j-api </ artifactId > < versão > 1.7.25 </ Versão > </dependência >
perfil ehcache.xml 2. Escrever
<? Xml version = "1.0" encoding = "UTF-8" ?> < Ehcache xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "http: // Ehcache .org / ehcache.xsd " UpdateCheck =" false " > <! - quando a memória cache secundário excede o limite do objeto (o número de objeto de cache> maxElementsInMemory) quando o arquivo é armazenado no disco rígido -> < diskStore caminho =" E : \ U \ Ehcache " /> <! - maxElementsInMemory: definir o número de in-memória cache objeto maxElementsOnDisk: definir o número do objeto de cache de disco rígido overflowToDisk: ajustar permanentemente o cache não expira diskPersistent:Quando o número de objetos na memória cache excede maxElementsInMemory transferidas para o disco rígido se timeToIdleSeconds: quando o acesso a mais de duas vezes esse valor, a falha do objeto de cacheQuando o número de objetos na memória de cache de mais de maxElementsInMemory de metástase para o disco rígido timeToLiveSeconds: um objeto cache, mais tempo de armazenamento (ciclo de vida) diskExpiryThreadIntervalSeconds: Quantas vezes para limpar o disco rígido de cache por um fio em memoryStoreEvictionPolicy: estratégia quando o máximo do cache de processamento de objeto: valor LRU é excluir os menos utilizados -> < defaultCache Eterno = "false" maxElementsOnDisk = "1000000 " maxElementsInMemory =" 1000 " overflowToDisk =" false " diskPersistent =" false " timeToIdleSeconds =" 100 " timeToLiveSeconds =" 100 " diskExpiryThreadIntervalSeconds =" 120 " memoryStoreEvictionPolicy =" o LRU " > </ DefaultCache > </ Ehcache >
3. Inicie a configuração secundária de cache principal
<! - abrindo o cache secundário -> < Definir nome = "cacheEnabled" valor = "true" />
4. Escrever tag cache de mapeador
<! - declarar aberta -> < Cache do tipo = "org.mybatis.caches.ehcache.EhcacheCache" > <! - Se você escrever os seguintes valores irá substituir a configuração global de ehcache.xml -> <! - - <property name = value "maxElementsInMemory" = "2000" /> -> <! - <property name = "overflowToDisk" value = "true" /> -> </ cache >
5. MyBatis teste vem com o mesmo cache secundário