Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Qual é a estratégia de cache padrão ao usar o Redis com spring ou spring boot?


Por padrão, você obtém o cache de lado, nosso uso de cache no aplicativo Spring boot se parece com isso
@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
    return "this Is it";
}

Na maioria dos cenários no aplicativo Spring Boot, armazenamos em cache o resultado de JPA ou outras consultas de banco de dados. Nesses casos, adicionamos Cacheable no método de consulta, que nos fornece o recurso de cache.

Um aplicativo pode emular a funcionalidade de cache de leitura através da implementação da estratégia de cache-aside. Essa estratégia carrega dados no cache sob demanda.



Ref:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside

Usar o padrão de armazenamento de cache nem sempre é a solução para um problema, dependendo do seu caso de uso, talvez seja necessário alterar a estratégia de armazenamento em cache. Alterar a estratégia de cache não é simples, exceto algumas anotações que conhecemos da estrutura Spring, como
  • Cacheable
  • CacheEvict
  • CachePut

Você precisa atualizar o código do aplicativo para usar outras estratégias de armazenamento em cache, embora possa criar qualquer estratégia de armazenamento em cache usando essas anotações. Se você não gosta de usar essas anotações, brinque com o objeto de cache real, a qualquer momento você pode chamar métodos de Cache para modificar o cache.

por exemplo
Cache myCache = cacheManager.getCache("myCache"); 

Depois de ter um objeto de cache, você pode chamar todos os métodos relevantes, alguns métodos podem não funcionar conforme o esperado devido à limitação do cache subjacente.