Redis 是一个开源的内存数据结构存储系统,可用作数据库、缓存和消息中间件。它支持多种数据结构,如字符串、哈希、列表、集合、有序集合以及位图和超日志等。由于所有数据都保存在内存中,Redis 具备极高的读写性能,同时通过持久化机制(RDB 快照和 AOF 追加日志)可以将数据安全地写入磁盘,以防止数据丢失。Redis 常用于实现高速缓存、实时计数、排行榜、会话存储以及发布/订阅消息系统等场景。

发布: (2026年4月3日 GMT+8 13:51)
3 分钟阅读
原文: Dev.to

Source: Dev.to

什么是 Redis?

简而言之,Redis 像缓存内存一样存储键‑值对数据。没有 Redis 时,网站在每次请求时获取数据可能会花费很长时间。有了 Redis,第一次获取会花正常的时间,但随后的获取会快得多,因为数据直接从缓存中提供。

演示教程

下面的教程演示了有无 Redis 缓存时的性能差异。

设置

  1. 克隆或复制 GitHub Gist 中的代码(此处未提供链接)。
  2. 在项目根目录打开终端并运行以下命令。
npm i
npm start

应用将在 http://localhost:5000 提供服务。
访问:

http://localhost:5000/repos/

将 “ 替换为任意 GitHub 用户名(例如 arunkrish11),即可查看该用户拥有的公开仓库数量。

观察获取时间

  1. 打开浏览器的开发者工具,切换到 Network(网络)标签页。
  2. 查找名为 finish time 的条目——它显示请求加载所用的时间。

不使用缓存

在源代码中注释掉(或删除)缓存检查块:

// 1. Check cache
const cached = await client.get(username);
if (cached) {
  return res.send(`
## ${username} has ${cached} repos (cached)
`);
}

反复刷新页面。你会发现每次刷新获取时间都很高,因为请求每次都在调用 GitHub API。

使用缓存

恢复之前删除的缓存检查块。现在刷新页面:

  • 第一次获取 —— 需要正常的时间,因为数据是从 GitHub 拉取并存入 Redis。
  • 后续获取 —— 速度大幅提升,因为数据直接从 Redis 缓存中返回。

这演示了 Redis 如何显著提升重复请求的响应时间。


教程结束。

0 浏览
Back to Blog

相关文章

阅读更多 »

停止在 npm 安装噪音上浪费 Token

问题:在中等规模的项目中运行 npm install 时,常常会产生数十条弃用警告,例如:text npm warn deprecated inflight@1.0.6: This module…