使用 Redis Insight 快速入门
使用 Redis Insight 开始使用触发器和函数
确保您已安装并运行Redis Stack。或者,您可以创建一个免费的 Redis Cloud 帐户。
如果您尚未安装 Redis Insight,您可以在此下载最新版本。如果这是您第一次使用 Redis Insight,您可能希望在继续本指南之前阅读Redis Insight 指南。
连接到 Redis Stack
打开 Redis Insight 应用程序,然后单击数据库别名连接到您的数据库。

加载库
单击触发器和函数图标,然后单击+ 库,如下所示。

将您的代码添加到右侧面板的库代码部分,然后单击添加库。

库添加后,您将看到以下内容

TFCALL
命令用于执行 JavaScript 函数。如果命令失败,将返回错误。单击左下角的>_ CLI 按钮打开控制台窗口,然后运行下面显示的命令。

要更新库,您可以通过单击编辑(铅笔)图标直接在界面中编辑库代码。保存更改后,库将重新加载。

上传外部文件
与之前一样单击+ 添加库按钮,但不是直接将代码添加到编辑器中,而是单击上传按钮,从您的文件浏览器中选择文件,然后单击添加库。文件需要包含标题,标题包含引擎标识符、API 版本和库名称:#!js api_version=1.0 name=myFirstLibrary
。

创建触发器
Redis 中的函数可以使用键空间触发器响应事件。虽然大多数这些事件是由命令调用触发的,但它们还包括密钥过期或从数据库中删除时发生的事件。
有关支持的事件的完整列表,请参阅Redis 键空间通知页面。
以下代码创建了一个新的键空间触发器,它将一个新字段添加到新的或更新的哈希中,其中包含最新的更新时间。
#!js name=myFirstLibrary api_version=1.0
function addLastUpdatedField(client, data) {
if(data.event == 'hset') {
var currentDateTime = Date.now();
client.call('hset', data.key, 'last_updated', currentDateTime.toString());
}
}
// Register the KeySpaceTrigger 'AddLastUpdated' for keys with the prefix 'fellowship'
// with the callback function 'addLastUpdatedField'.
redis.registerKeySpaceTrigger('addLastUpdated', 'fellowship:', addLastUpdatedField);"
像以前一样更新现有库,然后使用 Redis Insight 控制台添加一个具有所需前缀的新哈希以触发函数。
> HSET fellowship:1 name "Frodo Baggins" title "The One Ring Bearer"
运行HGETALL
命令检查是否将最后更新时间添加到示例中。
> HGETALL fellowship:1
1) "name"
2) "Frodo Baggins"
3) "title"
4) "The One Ring Bearer"
5) "last_updated"
6) "1693238681822"