快速入门:使用 Redis Insight
开始使用 Redis Insight 中的触发器和函数
Redis 开源 | Redis Enterprise Software | Redis Cloud | Redis 开源 | Redis Enterprise for Kubernetes | 客户端 |
---|
确保您已安装了 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"