Este repositorio contiene una aplicación de ejemplo desarrollada en Node.js con el framework Fastify. El objetivo de esta aplicación es demostrar cómo utilizar Redis como una capa de caché para mejorar el rendimiento de las operaciones y cómo aplicar el hash MD5 para almacenar las claves en Redis de manera eficiente.
Revisar el servicio services/redis.service.js para entender como se genera el GET de caché y el SET del mismo, este servicio se consume desde middlewares/cache.middleware.js.
Asegúrate de tener los siguientes requisitos instalados en tu sistema:
- Node.js (versión >= 12)
- Docker
- Docker Compose
Clona este repositorio en tu máquina local:
git clone https://github.com/taaddde/api-with-cache.gitAccede al directorio del proyecto:
cd api-with-cacheInstala las dependencias utilizando npm:
npm installLa configuración de la aplicación se encuentra en el archivo config.js. Aquí puedes ajustar los siguientes parámetros:
PORT: Puerto en el que se ejecutará el servidor Fastify. HOST: Configuración de conexión a Redis. OPENWEATHER_KEY: Una key para usar la API de clima, les dejo esta para usar si no tienen una propia: 3a65e841e72e1cfe8fb4f96e311b4e76
Para ejecutar la aplicación, sigue los siguientes pasos:
- Inicia el contenedor de Redis utilizando Docker Compose:
docker-compose up -d- Inicia la aplicación:
npm start- El servidor Fastify se ejecutará en el puerto especificado en la configuración.
Uso La aplicación tiene dos rutas:
GET / - Es el endpoint health, devuelve 200 con un mensaje OK GET /current/:city - Recibe como parámetro el nombre de una ciudad
Puedes probar estas rutas utilizando una herramienta como cURL, Postman o ThunderClient.
Si deseas contribuir a este proyecto, ¡eres bienvenido! Puedes abrir un problema para informar sobre errores o enviar una solicitud de extracción con mejoras y correcciones.