sql >> Base de Datos >  >> NoSQL >> Redis

¿Cuál es la estrategia de caché predeterminada cuando se usa Redis con Spring o Spring Boot?

De manera predeterminada, obtiene el caché a un lado, nuestro uso de caché en la aplicación de arranque Spring se parece a esto

@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
    return "this Is it";
}

En la mayoría de los escenarios en la aplicación Spring Boot, almacenamos en caché el resultado de JPA u otras consultas de base de datos. En tales casos, agregamos Cacheable en el método de consulta, que nos brinda la función de caché aparte.

Una aplicación puede emular la funcionalidad del almacenamiento en caché de lectura mediante la implementación de la estrategia de almacenamiento en caché. Esta estrategia carga datos en el caché a pedido.

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

Usar el patrón de caché aparte no siempre es la solución a un problema, dependiendo de su caso de uso, es posible que deba cambiar la estrategia de almacenamiento en caché. Cambiar la estrategia de almacenamiento en caché no es sencillo, excepto algunas anotaciones que conocemos del marco Spring como

  • Caché
  • CacheEvict
  • CachePut

Debe actualizar el código de su aplicación para usar otras estrategias de almacenamiento en caché, aunque puede crear cualquier estrategia de almacenamiento en caché utilizando estas anotaciones. Si no le gusta usar estas anotaciones, juegue con el objeto de caché real, en cualquier momento puede llamar a los métodos de caché para modificar el caché.

por ejemplo

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

Una vez que tenga un objeto de caché, puede llamar a todos los métodos relevantes, algunos métodos pueden no funcionar como se esperaba debido a la limitación del caché subyacente.