mybatis-- um cache, cache L2

A, cache de MyBatis

● MyBatis tem inclui um poderoso recurso de cache de consulta que pode muito facilmente personalizar e configurar o cache. Fita Salvar a eficiência consulta pode ser muito melhorada.

● sistema MyBatis definido pela cache padrão dois: um cache e cache secundário

  ○ Por padrão, apenas um cache ligado. (SqlSession cache de nível, também conhecido como um cache local)

  ○ cache de nível namespace necessidade cache secundário para abrir e configuração manualmente, ele se baseia.

  ○ A fim de melhorar a escalabilidade, MyBatis define o cache interface de Cache. Nós podemos personalizar a interface para o cache secundário através da implementação de cache

 

Resumo: O papel do cache é melhorar a eficiência de consultas.

 

Em segundo lugar, o cache

● cache de nível também é chamado de cache local

  ○ com a mesma consulta ao banco de dados durante os dados da sessão será colocado no cache local.

  Depois ○ Se você precisa para obter os mesmos dados, tomar directamente a partir do cache, não há necessidade de ir para consultar o banco de dados.

 

Resumo: O cache é ativado por padrão, apenas um Sqlsession eficaz, isto é, para se conectar para fechar a conexão neste segmento a gama!

 

Em terceiro lugar, o cache secundário

● cache secundário, também conhecido como cache global, o escopo cache é muito baixo, então o nascimento de cache L2.

● cache de nível namespace base, um espaço de nomes (namespace) correspondente a uma memória de dois níveis

● mecanismo de trabalho

  ○ uma conversa de dados de consulta, esses dados serão colocados em um cache na sessão atual;

  ○ Se a sessão atual é fechada, esta será salva no cache secundário;

  ○ novas informações consulta sessão, você pode obter o conteúdo de cache secundário;

  Diferentes ○ dados Mappe isolado vai ser colocado no seu próprio cache correspondente (mapa) em;

 

Abra passo cache secundário de:

1. Adicione um guia de configurações no perfil de núcleo, como segue:

    < Configurações > 
        < definição de nome = "CacheEnable" valor = "true" /> 
    </ configurações >

 

 2. Adicione uma linha no arquivo de mapeamento SQL:

< O cache />

 

Você também pode personalizar os parâmetros

< Cache de
   despejo = "FIFO" 
  flushInterval = "60000" 
  tamanho = "512" 
  readOnly = "true" />

Esta configuração mais avançada cria um tampão FIFO, 60 segundos para refrescar, armazenar até 512 referências para resultar objectos ou listas, e objetos retornados são considerados só de leitura em intervalos, e, portanto, eles podem ser modificados em diferentes segmentos o conflito chamador.

Limpar estratégias disponíveis:

  • O LRU  - Least Recently Used: Remove objetos que não tenham sido utilizadas por um longo tempo.
  • O FIFO  - First In First Out: encomenda por objeto para o cache para removê-los.
  • SOFT  - Macio Referência: Remove o objeto de estado coletor de lixo baseado em regras referenciado e macio.
  • FRACO  - Referência ruim: com base mais agressivamente sobre o estado coletor de lixo e regras de referências fracas remover o objeto.

A diretiva de eliminação padrão é LRU.

flushInterval atributo (Intervalo de atualização) pode ser configurado para qualquer valor inteiro positivo é definido deve ser uma quantidade razoável de tempo em unidades de milissegundos. O padrão não está definido, que não é o intervalo de atualização, o cache só é atualizado quando a instrução de chamada.

tamanho atributo (número de referência) pode ser configurado para qualquer inteiro positivo, de notar que os recursos de memória para ser armazenada em cache eo tamanho do ambiente operacional objeto disponível. O valor padrão é 1024.

(Somente leitura) atributo readOnly pode ser definido como verdadeiro ou falso. Read-only cache irá retornar o mesmo para todos os chamadores em cache ocorrência de objeto. Portanto, esses objetos não podem ser modificados. Isto fornece um aumento significativo de desempenho. E cache de leitura e escrita irá retornar uma cópia dos objetos em cache (serialização). Alguns velocidade mais lenta, mas mais segurança, de modo que o valor padrão é falso.

 

Nota:

  1. Todos os dados serão primeiro colocado em um cache, somente se a sessão for apresentado ou fechado, será submetido ao cache secundário!

   2. Se o cache secundário é ligado, MyBatis vai começar a extrair dados no cache secundário. Se os dados não forem encontrados no cache secundário, procurar o cache novamente. Não se pode encontrar os dados de cache, você vai para consultar o banco de dados e salvar os resultados da consulta a um cache.

 

Acho que você gosta

Origin www.cnblogs.com/bear7/p/12515105.html
Recomendado
Clasificación