Consideraciones Generales sobre el caché
- Se incluye un motor de caché basado en REDIS, para aliviar la carga de la base de datos y mejorar la latencia. Sin embargo, para que sea realmente efectivo y no se convierta en un cuello de botella, se deberán seguir las reglas descritas en éste documento.
- REDIS (Remote Dictionary Server) es una base de datos NoSQL de código abierto, en memoria, ultra rápida, que funciona como almacén de estructuras de datos clave-valor.
- La comunicación con el motor del caché, se realizará a través de la librería Jedis 7.4.
- Se actualizó el docker para que incorpore dentro de él el motor de caché, por lo que se debe utilizar la última versión de la imagen avatar-dev.
- El caché se diseñó para que si el motor de caché falla, o no está disponible, el aplicativo no se verá afectado (pero funcionará sin caché).
- Para activar el caché, deben existir dos nuevas entradas en el web.xml:
La primera llamada aktek/CacheActivo, Si o No S / N, indicará si se utilizará el caché.
<env-entry>
<env-entry-name>aktek/CacheActivo</env-entry-name>
<env-entry-value>N</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
La segunda, aktek/CacheHost deberá apuntar al servidor de caché. En el ambiente de desarrollo, deberá ser 127.0.0.1. Solo se utilizará si el caché está activo.
<env-entry>
<env-entry-name>aktek/CacheHost</env-entry-name>
<env-entry-value>127.0.0.1</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>