combate SpringBoot2.0 (23) a integração de memória cache integrada SpringDataCache Redis
conhecimento
comentário comum Primavera Cache Cache
- @CacheConfig definir o cache atual na classe alguns locais públicos, tais como caching nome.
- atuação @Cacheable no método, os resultados mostram que este método pode ser armazenado em cache, se existe o cache, o método de destino não será chamado diretamente do cache, se o cache não existe, o corpo do método é realizada, e os resultados armazenados no cache.
- @CacheEvice que actua sobre o método, remover a entrada de cache ou esvaziar a memória cache.
- @CachePut agindo sobre o método, independentemente de se há um cache, o corpo do método será executado, e os resultados são armazenados no cache.
- @Caching agindo sobre o método, os comentários acima, se várias notas precisam ser envolto em @Caching
objetivo
Use Redis como um cache de conseguir quando as adições e exclusões no banco de dados, sincronização de dados para atualizar o cache, o cache a partir da primeira consulta de pesquisa.
preparativos
Criar uma tabela
passos
Adicionar dependente
A introdução do projeto pai Primavera Bota de arranque
Adicionar Redis Dependência, jpa e mysql, inteiros dependentes da adição da seguinte
configuração
fontes de dados, Redis, configuração de cache.
- spring.cache.type configurar o tipo de cache, simples padrão, ea configuração para o uso como um cache Redis middleware, deve ser configurado para Redis atributo spring.cache.type
codificação
entidade objeto
Porque inicialização Redis, as seqüências de classe padrão usando JdkSerializationRedisSerializer, é necessário implementar o objeto de entidade interface Serializable.
código de nível repositório
código de nível de serviço
Adicionar notas para as adições de cache e exclusões método de busca mudança
classe de inicialização
Adicionados à classe de inicialização comentário @EnableCaching para cache de abertura
resultados de validação
casos de gravação de teste
O UserService as notas relacionadas com o cache de todos os comentários, executar casos de teste, os shows de log a seguir:
Cache notas de recuperação, executar casos de teste novamente, o registo mostra o seguinte:
Ele pode ser visto após o uso de cache, de acordo com a obter dados do usuário quando o ID de usuário, não executa SQL.
Vá para a vista Redis, você pode ver a atual Key Redis para o usuário :: 12, onde 12 é o ID do usuário
fonte Endereço
chapter Fonte: https://gitee.com/gongm_24/spring-boot-tutorial.git
conclusão
sistema de banco de dados de alto desempenho sempre foi um gargalo, uso adequado razoável de cache pode melhorar significativamente o desempenho do sistema.
No entanto, o consequente aumento da complexidade do sistema, há mais questões a serem abordadas, tais como a coerência de cache, cache de penetração cache de avalanches.