npm 包 botbuilder-redis 使用教程

阅读时长 7 分钟读完

Botbuilder-redis 是一款 Node.js 软件包,可以将 Microsoft Bot Framework 中的存储器连接到 Redis 数据库。其使得机器人的存储更可靠、可扩展、更快速。本文将深入讨论如何使用 botbuilder-redis 包实现自己的存储器。

准备工作

首先,你需要使用 Redis 数据库,并安装相应的 npm 包。

接下来,我们将创建一个 Redis 连接、配置和创建 Redis 存储器的过程。

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

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

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

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

以上代码创建了一个 Redis 连接,并将连接用于创建一个 Redis 存储器。此外,我们还从环境变量中获取 Redis 的主机地址、端口、密码和键,并将这些参数传递给 Redis 连接。

实现存储器

现在我们已经有了 Redis 存储器,下面我们将深入了解如何使用它。首先,我们将创建一个简单的 Echo 机器人,它将回答你所说的话。为此,我们需要三个函数:onTurn(),processMessage()echo()

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

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

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

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

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

以上代码创建了一个简单的机器人 EchoBot,该机器人会回答你所说的话。

接下来,我们将创建一个用于管理存储器的类。

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

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

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

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

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

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

以上代码创建了一个 Redis 存储器的管理器,该管理器具有一些有用的方法,可以将会话数据存储到 Redis 中。在 addConversation(), getConversation(), updateConversation()deleteConversation() 方法中,我们维护了一个内部存储器以减少不必要的访问 Redis。

现在我们可以将 EchoBot 更新为始终使用 Redis 进行存储和恢复会话状态。

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

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

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

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

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

现在,我们已经写好了使用 Redis 存储器的机器人。

总结

在本文中,我们深入讨论了如何使用 botbuilder-redis 包来创建一个可靠、可扩展、快速的机器人存储器。我们通过创建一个 Echo 机器人示例来演示了 Redis 存储器的创建和管理。当然,机器人的应用远不止于此,这里我们只是提供了一个简单的示例,希望能够帮助你更好地了解 Redis 存储器的使用。

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

纠错
反馈