Botbuilder-redis 是一款 Node.js 软件包,可以将 Microsoft Bot Framework 中的存储器连接到 Redis 数据库。其使得机器人的存储更可靠、可扩展、更快速。本文将深入讨论如何使用 botbuilder-redis 包实现自己的存储器。
准备工作
首先,你需要使用 Redis 数据库,并安装相应的 npm 包。
npm install botbuilder-redis redis --save
接下来,我们将创建一个 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