学习

从 Node.js 使用 Redis

Simon Prickett
作者
Simon Prickett, Redis 首席开发者倡导者

要从应用程序连接到 Redis,我们需要使用我们正在编写的语言的 Redis 客户端库。Redis 客户端执行以下功能

  • 管理应用程序与 Redis 服务器之间的连接。
  • 使用 Redis 的线协议处理与 Redis 服务器的网络通信。
  • 提供我们在应用程序中使用的语言特定 API。

对于 Node.js,有两个流行的 Redis 客户端:ioredis 和 node_redis。这两个客户端都公开了类似的编程 API,将每个 Redis 命令包装为一个函数,我们可以在 Node.js 脚本中调用。在本课程中,我们将使用 ioredis,它内置支持现代 JavaScript 功能,例如 Promises。

这是一个完整的 Node.js 脚本,它使用 ioredis 执行我们之前在 redis-cli 中尝试过的 SET 和 GET 命令

const Redis = require('ioredis');

const redisDemo = async () => {
  // Connect to Redis at 127.0.0.1, port 6379.
  const redisClient = new Redis({
    host: '127.0.0.1',
    port: 6379,
  });

  // Set key "myname" to have value "Simon Prickett".
  await redisClient.set('myname', 'Simon Prickett');

  // Get the value held at key "myname" and log it.
  const value = await redisClient.get('myname');
  console.log(value);

  // Disconnect from Redis.
  redisClient.quit();
};

redisDemo();

ioredis 将每个 Redis 命令包装在一个函数中,该函数可以接受回调或返回 Promise。在这里,我使用 async/await 来等待每个命令在 Redis 服务器上执行,然后再继续执行下一个命令。

运行此代码会显示现在存储在 Redis 中的值

$ node basic_set_get.js
Simon Prickett

外部资源#

以下其他资源可以帮助您了解如何从 Node.js 应用程序访问 Redis

在本视频中,我介绍了如何使用 ioredis 客户端