npm 包 fastify-ioredis 使用教程

阅读时长 5 分钟读完

简介

fastify-ioredis 是一个 Fastify 插件,它提供了使用 ioredis 客户端在 Fastify 应用中处理 Redis 相关的所有事项的快速和简便的方法。ioredis 是一个高性能的 Redis 客户端,在某些情况下比官方的客户端更快。

安装

在项目根目录下使用 npm 安装 fastify-ioredis:

使用

在你的 Fastify 应用程序中引入 fastify-ioredis:

注意,这里传入的参数中 url 字段指定了 Redis 服务器的 URL 地址。你可以根据需要更改此 URL。

现在,我们可以在任何 Fastify 路由处理程序中使用 Redis 客户端了:

在上面的代码中, req.fastify.redis 是注册 fastify-ioredis 时自动添加到请求对象中的。你可以使用 await 关键字来调用 Redis 命令。

使用 Promise 风格的 API

如果你喜欢 Promise 风格的 API,你可以在注册 fastify-ioredis 时传递 ioredis 选项:

-- -------------------- ---- -------
----- ------- - --------------------
----- -------------- - --------------------------
----- ----- - ------------------

-------------------------------- -
  -------- --------------
  ---- ------------------------
--

-- -----------

现在你就可以像下面这样使用 ioredis 的 Promise 风格的 API 了:

使用 Lua 脚本

fastify-ioredis 还提供了执行 Redis Lua 脚本的方法。这使得你可以在 Redis 服务器上运行比单个操作更复杂的事务,同时仍然保持高性能。

在下面的例子中,我们将 Lua 脚本存储在 app.lua 文件中,它将从 Redis 中获取名为 foo 的键和值,并将值乘以 2:

我们将使用 Redis 脚本执行器的 scriptLoad 方法在 Fastify 应用程序注册时加载此脚本,并获取其 SHA1 摘要:

-- -------------------- ---- -------
----- ---- - ---------------
----- -- - -------------
----- ------- - --------------------
----- -------------- - --------------------------
----- ----- - ------------------

----- ---------- - -------------------- ----------
----- ------ - --------------------------- -------

-------------------------------- -
  -------- ------
  ---- ------------------------
--

-------------------------- ----- -- -- -
  ----- ----- - -------------

  -- -- ---------------- ---- --
  ----- ---- - ----- ------------------------
  -------------------- -----
--

-- -----------

现在,我们可以在 Fastify 路由处理程序中使用 fastify-ioredis 提供的 evalsha 方法调用此脚本:

在上面的代码中, redis.evalsha 接受脚本的 SHA1 摘要作为第一个参数,它的后面是传递给脚本的参数。在我们的例子中,我们只传递了一个参数 foo

结论

fastify-ioredis 可以使在 Fastify 应用中使用 Redis 变得非常简单。快速和方便,且性能极高。它的 API 也非常简洁明了,即使你是一个新手,也可以轻松上手。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005601781e8991b448de3a9

纠错
反馈