Faltou um exemplo com o filtro do cache, ou seja, dar algum exemplo que não usa o allEntries = true. É possível?
Faltou um exemplo com o filtro do cache, ou seja, dar algum exemplo que não usa o allEntries = true. É possível?
Olá Evandro, tudo bem?
Entendi que você está buscando um exemplo de uso de cache sem utilizar o parâmetro "allEntries = true". É possível sim utilizar o cache sem esse parâmetro, basta especificar a chave que deseja invalidar.
Por exemplo, suponha que você tenha um método que busca um usuário pelo ID e queira armazenar o resultado em cache. Você pode fazer da seguinte forma:
@Cacheable(value = ["usuarios"], key = "#id")
fun buscarUsuarioPorId(id: Long): Usuario {
// código para buscar o usuário no banco de dados
}
Nesse caso, o valor retornado pelo método será armazenado em cache com a chave "usuarios:id". Se você quiser invalidar esse cache, basta chamar o método abaixo:
@CacheEvict(value = ["usuarios"], key = "#id")
fun atualizarUsuario(id: Long, usuario: Usuario) {
// código para atualizar o usuário no banco de dados
}
Dessa forma, o cache com a chave "usuarios:id" será invalidado e a próxima chamada ao método "buscarUsuarioPorId" irá buscar o usuário novamente no banco de dados.
Espero ter ajudado e bons estudos!