11 Horas: Disable, limpar o cache secundário, eo cache integrados Ehcache

.1) Como desativar o cache secundário

  1 selecione tags específicas para ser mapper.xml fechado no qual preenchimento

< 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) no cache secundário, SqlSession.commit () consulta em si não pode cometer () .

    SqlSession.commit () irá limpar o cache e cache secundário; mas não pode limpar a consulta em si SqlSession.commit cache secundário ()

 2 Adicione flushCache em select tag = "true" também pode limpar o cache

.3) a taxa de acerto:

  1.zs: 0% ===> 50% ===> 66,6% ===> 75%

.4) Ehcache integrado cache secundário (há muitos de cache de terceiros para Ehcache por exemplo)

  1. A necessidade de importar o seguinte pacote de três jar

<! - 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

Acho que você gosta

Origin www.cnblogs.com/thisHBZ/p/12458112.html
Recomendado
Clasificación