使用Node.js中的apicache中间件进行API响应缓存

使用Node.js中的apicache中间件进行API响应缓存

缓存只是指存储数据。缓存API响应是指在特定时间内持有所请求响应的副本,以便更快地检索数据。当客户端请求资源时,请求通过缓存发送到持有该资源的服务器。在请求路径中,如果缓存中存在所请求的资源,则使用该副本而不是从服务器获取数据。缓存的数据作为响应返回。因此,数据被更快地提供,网络性能得到改善。 ****

方法: 通过使用API缓存中间件,我们将从 JSONplaceholder API 获取数据并缓存API响应五分钟。API缓存是一个npm包,使得在express和node.js应用程序中缓存API响应更加容易。响应将在特定时间段内备份,因此如果您请求相同的资源表示,则不会访问API端点,而是从缓存中检索数据。

在以下示例中,我们将观察到数据由于没有访问API端点而被更快地检索。

环境设置: 确保您的本地机器上安装了node.js,并安装了Postman进行API测试。如果您尚未安装它们,请按照以下链接进行安装。

  • Node.js: https://nodejs.org/en/download/
  • Postman: https://www.postman.com/downloads/
  • JSON Viewer Pro Chrome扩展: https://chrome.google.com/webstore/detail/json-viewer-pro/eifflpmocdbdmepbjaopkkhbfmdgijcc 用于将JSON响应可视化为树状结构。

作为Postman的替代方案,您也可以使用https://reqbin.com/进行API测试。

按照以下步骤开始操作。

步骤1: 初始化npm

创建一个新的项目目录并转到您的终端。使用以下命令初始化npm:

npm init -y 
JavaScript

使用Node.js中的apicache中间件进行API响应缓存

步骤2: 安装依赖项。安装以下包:

  • express:node.js 框架
  • axios:发送HTTP请求
  • morgan:记录请求日志
npm i express axios morgan 
JavaScript

使用Node.js中的apicache中间件进行API响应缓存

步骤3: 安装用于缓存API响应的中间件。 使用以下命令安装API缓存包。

npm i apicache 
JavaScript

使用Node.js中的apicache中间件进行API响应缓存

步骤4: 创建一个app.js文件来编写缓存代码。首先,我们将在app.js文件中导入所有已安装的包,以便在项目中使用它们。然后,我们将配置中间件,即express、Morgan和Apicache,并设置我们的服务器。我们将从JSONplaceholder API获取帖子和用户,并将路由缓存5分钟。

将以下代码添加到 app.js 文件中。

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"); 
})
JavaScript

最终项目结构:

使用Node.js中的apicache中间件进行API响应缓存

运行应用程序的步骤: 要运行Node.js应用程序,请打开终端并输入以下命令。

node app.js 
JavaScript

输出: 默认情况下,应用程序将在3000端口运行。在您的浏览器上,您可以通过localhost:3000访问帖子,通过localhost:3000/users访问用户。

使用Node.js中的apicache中间件进行API响应缓存

测试响应时间的步骤 使用 Postman 发送 GET 请求到 localhost:3000。

输出结果: 最初,您会看到较长的响应时间。如果您多次发送 GET 请求,您会注意到数据的检索速度比初始响应时间快得多,这是由于响应缓存。当我们首次请求资源时,数据被缓存,并在再次请求时返回缓存的数据,而不是命中 API 端点,从而提高了响应时间。

使用Node.js中的apicache中间件进行API响应缓存

同样,向 localhost:3000/users 发送一个 GET 请求

输出: 在响应被缓存后,你将注意到数据的获取速度变得更快。

使用Node.js中的apicache中间件进行API响应缓存

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册