学习

Node 和 Redis 入门

Ajeet Raina
作者
Ajeet Raina, Redis 前开发者增长经理
Simon Prickett
作者
Simon Prickett, Redis 首席开发者倡导者

查找教程、示例和技术文章,帮助您使用 Redis 和 Node.js/JavaScript 进行开发

简介#

Redis 是一款开源、内存中键值数据存储,最常用于主数据库、缓存、消息代理和队列。Redis 缓存提供亚毫秒的响应时间,支持游戏、金融科技、广告科技、社交媒体、医疗保健和物联网等行业的快速高效的实时应用程序。

Redis 是与 Node 一起使用的绝佳数据库。Redis 和 Node 都共享类似的类型约定和线程模型,这使得开发体验非常可预测。通过将 Node 和 Redis 配对,您可以获得可扩展且高效的开发平台。

Redis 拥有两个主要的 Node 客户端,分别是 node-redis 和 ioredis。两者都可通过 npm 获得。我们通常建议使用 node-redis,因为它对 Redis 模块提供了广泛的支持,易于扩展,并且被广泛使用。

查看社区为 Node 构建的 Redis 客户端列表 在此.

本文介绍如何开始使用推荐的库: node-redis 和 ioredis.

步骤 1. 运行 Redis 服务器

您可以选择在 Docker 容器中运行 Redis,也可以直接在您的 Mac OS 上运行。使用以下命令在本地设置 Redis 服务器

 brew tap redis-stack/redis-stack
 brew install --cask redis-stack
信息

Redis Stack 统一并简化了领先的 Redis 数据存储、模块及其提供的功能的开发人员体验。除了 Redis 之外,Redis Stack 还支持以下功能:JSON、搜索、时间序列、触发器和函数以及概率数据结构。

确保您能够使用以下 Redis 命令连接到 Redis 实例。

 redis-cli
 localhost>

现在您应该能够对 Redis 键执行 CRUD 操作。如果您在 Redis 配置文件中设置了身份验证,则上述 Redis 客户端命令可能需要密码。参考 Redis 命令参考

步骤 2. 使用 NPM (或 YARN)安装 node redis

运行以下 NPM 命令安装 Redis 客户端。

  npm install redis

步骤 2. 编写您的应用程序代码

使用以下示例代码作为我们的 Node.js 应用程序

import { createClient } from 'redis';

async function nodeRedisDemo() {
  try {
    const client = createClient();
    await client.connect();

    await client.set('mykey', 'Hello from node redis');
    const myKeyValue = await client.get('mykey');
    console.log(myKeyValue);

    const numAdded = await client.zAdd('vehicles', [
      {
        score: 4,
        value: 'car',
      },
      {
        score: 2,
        value: 'bike',
      },
    ]);
    console.log(`Added ${numAdded} items.`);

    for await (const { score, value } of client.zScanIterator('vehicles')) {
      console.log(`${value} -> ${score}`);
    }

    await client.quit();
  } catch (e) {
    console.error(e);
  }
}

nodeRedisDemo();

Redis Launchpad#

Redis Launchpad 类似于 Redis 示例应用程序的“应用商店”。您可以轻松找到您首选框架和语言的应用程序。查看以下一些应用程序,或 点击此处访问完整列表.

NodeJS 中的 Hacker News 克隆#

一个 Hacker News 克隆项目 使用 NextJS、NodeJS 和 Express 构建,基于搜索和 JSON

NodeJS 中的购物车应用程序#

更多开发者资源#

示例代码#

基本 Redis 缓存 此应用程序调用 GitHub API 并将结果缓存到 Redis 中。

Redis 速率限制 这是一个非常简单的应用程序,演示了使用 Redis 的速率限制功能。

使用 WebSocket、Vue 和 Redis 发送通知 此项目允许您使用 WebSocket 从 Redis PUBLISH 将通知推送到 Vue 应用程序中。

技术文章和视频#

Redis 大学#

面向 JavaScript 开发者的 Redis#

使用 Node.js 和 Express 构建完整的 Redis 应用程序。

上次更新于 2024 年 2 月 21 日