写入Redis JSON文档
注意:
您必须在目标Redis数据库中启用RedisJSON模块才能使用此功能。在下面的示例中,数据从名为invoice
的源表中捕获,并以JSON文档的形式写入Redis数据库。connection
是一个可选参数,指的是在config.yaml
中定义的相应连接名称。当您为作业指定data_type
参数时,它将覆盖在config.yaml
中定义的系统范围设置target_data_type
。
另一个可选参数,on_update
,指定了写入策略。您可以将其设置为replace
(默认)或merge
。这会影响文档写入目标的方式。替换文档将完全覆盖它,而合并将使用源中捕获的字段更新它,保持文档的其余部分不变。replace
选项通常性能更好,而merge
允许其他作业和应用程序在同一JSON文档中设置额外字段。
在这种情况下,结果将是基于键表达式(例如,invoice_id:1
)的Redis JSON文档,并且具有100秒的过期时间。如果您不提供expire
参数,键将永不过期。
source:
server_name: chinook
schema: public
table: invoice
output:
- uses: redis.write
with:
connection: target
data_type: json
key:
expression: concat(['invoice_id:', InvoiceId])
language: jmespath
on_update: replace
expire: 100