El almacenamiento en caché simplemente significa almacenar datos. El almacenamiento en caché de las respuestas de la API se refiere a mantener copias de la respuesta solicitada durante un tiempo específico para recuperar datos más rápido. Cada vez que un cliente solicita un recurso, la solicitud va al servidor que contiene ese recurso a través del caché. En la ruta de la solicitud, si el recurso solicitado está presente en la memoria caché, utiliza esa copia en lugar de obtener los datos del servidor. Los datos almacenados en caché se devuelven como respuesta. Por lo tanto, los datos se sirven más rápidamente y se mejora el rendimiento de la red.
Enfoque: mediante el uso del middleware de caché de API, obtendremos datos de la API de marcador de posición JSON y almacenaremos en caché las respuestas de la API durante un período de cinco minutos. API cache es un paquete npm que facilita el almacenamiento en caché de respuestas de API para aplicaciones express y node.js. Se realizará una copia de seguridad de las respuestas durante un período de tiempo específico, por lo que si solicita la misma representación de recursos, el extremo de la API no se verá afectado y, en su lugar, los datos se recuperarán de la memoria caché.
En el siguiente ejemplo, observaremos que los datos se recuperan más rápido ya que no llegan a un punto final de la API.
Configuración del entorno: asegúrese de que node.js esté instalado en su máquina local, así como Postman para las pruebas de API. Si aún no los ha instalado, siga estos enlaces.
- Node.js: https://nodejs.org/en/download/
- Cartero: https://www.postman.com/downloads/
- Extensión de Chrome JSON Viewer Pro: https://chrome.google.com/webstore/detail/json-viewer-pro/eifflpmocdbdmepbjaopkkhbfmdgijcc para visualizar la respuesta JSON como un árbol.
Como alternativa a Postman, también puede usar https://reqbin.com/ para las pruebas de API.
Siga los pasos a continuación y comience.
Paso 1: inicializar npm
Cree un nuevo directorio de proyectos y diríjase a su terminal. Inicialice npm usando el siguiente comando:
npm init -y
Paso 2: Instalar Dependencias. Instale los siguientes paquetes:
- expreso: marco node.js
- axios: para enviar requests HTTP
- morgan: registra las requests
npm i express axios morgan
Paso 3: Instale el middleware para almacenar en caché las respuestas de la API. Instale el paquete de caché API usando el siguiente comando.
npm i apicache
Paso 4: Cree un archivo app.js para escribir el código para el almacenamiento en caché. En primer lugar, importaremos todos los paquetes instalados en el archivo app.js para usarlos en nuestro proyecto. Luego configuraremos los middlewares, es decir, express, Morgan y Apicache, y configuraremos nuestro servidor. Obtendremos publicaciones y usuarios de la API JSONplaceholder y almacenaremos en caché las rutas durante 5 minutos.
Agregue el siguiente código al archivo app.js.
Javascript
const express = require('express'); const morgan = require("morgan"); const apicache = require("apicache"); const axios = require('axios'); // Create Express Server const app = express(); app.use(morgan('dev')); //configure apicache let cache = apicache.middleware //caching all routes for 5 minutes app.use(cache('5 minutes')) app.get('/', (req, res) => { const data = axios.get( 'https://jsonplaceholder.typicode.com/posts').then((response) => { res.send(response.data) }) }) app.get('/users', (req, res) => { const userData = axios.get( 'https://jsonplaceholder.typicode.com/users').then((response) => { res.send(response.data) }) }) app.listen(3000, function() { console.log("Server is running on port 3000"); })
Estructura del Proyecto Final:
Paso para ejecutar la aplicación: Para ejecutar la aplicación node.js, vaya a su terminal y escriba el siguiente comando.
node app.js
Salida: De forma predeterminada, la aplicación se ejecutará en el puerto 3000. En su navegador, puede acceder a publicaciones en localhost:3000 y usuarios en localhost:3000/users.
Paso para probar el tiempo de respuesta Envíe una solicitud GET a localhost:3000 usando Postman.
Salida: Inicialmente, verá un tiempo de respuesta largo. Si envía la solicitud GET varias veces, notará que los datos se recuperan mucho más rápido que el tiempo de respuesta inicial debido al almacenamiento en caché de la respuesta. Cuando solicitamos un recurso por primera vez, los datos se almacenan en caché y, al volver a solicitarlos, los datos almacenados en caché se devuelven en lugar de llegar al punto final de la API, lo que resulta en tiempos de respuesta más rápidos.
Del mismo modo, envíe una solicitud GET a localhost:3000/users
Salida: después de que la respuesta se almacene en caché, notará que los datos se recuperan más rápido.
Publicación traducida automáticamente
Artículo escrito por riyaa7vermaa y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA