Spring Abstracts A interface Cachemanager para várias implementações de cache, e os usuários usam essa interface para processar caches sem se preocupar com a implementação subjacente. Também pode ser alterado convenientemente para a implementação específica do cache sem modificar o código comercial. Aqui está uma breve introdução ao uso do cache no Springboot:
1. Adicione dependências
<Depencency> <PuerpId> org.springframework.boot </frugiD> <ArtifactId> Spring-boot-starter-cache </ArtifactId> </Dependency>
2. Ligue o cache na classe de configuração, como mostrado na figura abaixo:
3. Adicione anotações aos métodos que precisam ser usados, como segue:
@Override // @Cacheput Esta anotação cache o valor de retorno do método, onde o nome do cache é as pessoas e a chave dos dados é o ID da pessoa @cacheput (value = "pessoas", key = "#Person.id") Public Pessoa (pessoa) {pessoa P = PERSONREPOSITION.SAVE (Person.id "); System.out.println ("Para ID, a chave é:"+p.getId ()+"Data cache"); retornar p; } @Override // @Cacheevict Esta anotação excluirá os dados com o ID -chave no cache de pessoas @cacheevict (value = "pessoas", key = "#id") public void Remow (longo id) {System.out.println ("Remova o cache de dados com id e key"+id+""); // a operação de exclusão real não é realizada aqui} @Override //@cache Esta anotação determinará se o cache com a chave #Person.id no cache existe quando o método é executado. Se existir, retornará diretamente os dados no cache. Se não existir, o banco de dados será verificado e o resultado de retorno será armazenado em cache. @Cacheable (value = "pessoas", key = "#PERSON.ID") PESSOA PUBLICA (pessoa de pessoa) {Pessoa P = PERSONREPOSITION.FYNDONE (PERSON.GETID ()); System.out.println ("Para ID, a chave é:"+p.getId ()+"Data cache"); retornar p; }As peças acima concluíram o cache, mas o cache atual é baseado em memória por padrão e não foi persistido. A seguir, é apresentada uma implementação específica do Redis como cache, como segue:
4. Adicione dependências
<Depencency> <PuerpId> org.springframework.boot </frugiD> <ArtifactId> Spring-boot-Starter-Redis </sutifactId> </pendence>
5. Adicione a configuração Redis no arquivo de configuração
redis.hostname = localhost redis.port = 6379
6. Configure redis no recipiente de primavera
@Configuration public class Redisconfig estende o CachingConfigurersupport {private Static Final Logger Logger = LoggerFactory.getLogger (Redisconfig.class); @AUTOWIRED AMBIENTE PRIVADO ENV; @Bean public jedisconnectionFactory RedisconnectionFactory () {JedisconnectionFactory RedisconnectionFactory = novo JedisconnectionFactory (); RedisconnectionFactory.SethostName (Env.getProperty ("Redis.Hostname")); RedisconnectionFactory.SetPort (Integer.parseint (Env.getProperty ("Redis.port"))); retornar redisconnectionfactory; } @Bean public Redistemplate <String, String> Redistemplate (RedisconnectionFactory Cf) {Redistemplate <String, String> Redistemplate = new Redistemplate <> (); redistemplate.setConnectionFactory (CF); return redistemplate; } @Bean Public Cachemanager Cachemanager (Redistemplate <?,?> Redistemplate) {Rediscachemanager Cachemanager = new Rediscachemanager (Redistemplate); Cachemanager.SetDefaultExpiration (600); Retornar Cachemanager; }}Ok, está feito, não há necessidade de mudar mais nada, não é muito conveniente?
Além disso, as classes a serem armazenadas em cache devem ser serializadas.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.