Redis Lookup

支持的管道类型:

  •  Data Collector

例如,您可以将处理器配置为使用城市字段作为关键字,以在Redis中查找邮政编码值,并将这些值传递给新的zip_code输出字段。

在配置Redis Lookup处理器时,可以指定处理器是对批处理中的所有键执行批量查找,或对记录中的每个键执行单独查找。您可以使用表达式来定义要在Redis中查找的键,并指定用于向其中写入查找值的输出字段。您还可以指定Redis值的数据类型。

您可以将处理器配置为本地缓存键值对,以提高性能。

您还可以指定用于连接到Redis的属性,包括Redis服务器的URI。

数据类型

在定义要在Redis中查找的键时,可以指定Redis值的数据类型。Redis Lookup处理器将Redis数据类型转换为Data Collector数据类型。

下表列出了受支持的Redis数据类型和相应的Data Collector 数据类型:

Redis数据类型 Data Collector数据类型
String String
List List。

将数据转换为值的索引列表,例如:

0: <value>
1: <value>
2: <value>
Hash Map。

将数据转换为Redis字段名称和值的映射,例如:

/<first field name>: <value>
/<second field name>: <value>
/<third field name>: <value>
Set List。

将数据转换为值的索引列表,例如:

0: <value>
1: <value>
2: <value>
注意:不支持其余的Redis数据类型。

查找缓存

为了提高管道性能,可以将Redis Lookup处理器配置为本地缓存从Redis返回的键值对。

处理器缓存键值对,直到缓存达到最大大小或过期时间。当达到第一个限制时,处理器从缓存中淘汰键值对。

您可以配置以下方式从缓存中淘汰键值对:

基于规模的淘汰
配置处理器缓存的键/值对的最大数量。当达到最大数量时,处理器将从缓存中淘汰最旧的键值对。
基于时间的淘汰
配置键值对可以保留在缓存中而不被写入或访问的时间。当到达过期时间时,处理器从缓存中淘汰键。淘汰策略确定处理器是否测量自上次写入值或自上次访问值以来的到期时间。
例如,您将淘汰策略设置为在上次访问后到期,并将到期时间设置为60秒。处理器在60秒内未访问键值对之后,处理器会将其从缓存中淘汰。

当您停止管道时,处理器将清除缓存。

配置Redis Lookup处理器

配置Redis Lookup处理器以在Redis中执行键值查找。

  1. 在“Properties”面板的“General选项卡上,配置以下属性:
    一般属性 描述
    Name 阶段名。
    Description 可选说明。
    Required Fields 必须包含用于将记录传递到阶段的记录的数据的字段。

    提示:您可能包括阶段使用的字段。

    根据为管道配置的错误处理,处理不包括所有必填字段的记录。

    Preconditions 必须评估为TRUE的条件才能使记录进入处理阶段。单击 添加以创建其他前提条件。

    根据为该阶段配置的错误处理,处理不满足所有前提条件的记录。

    On Record Error 该阶段的错误记录处理:

    • Discard-放弃记录。
    • To Error-将记录发送到管道以进行错误处理。
    • Stop Pipeline-停止管道。对集群管道无效。
  2. 在“Lookup选项卡上,配置以下属性:
    查找属性 描述
    Mode 用于执行查询的模式:

    • Per Batch-对批次中的所有键执行批量查找。处理器对每个批次执行一次查找。
    • Per Key in Each Record-对每个记录中的每个键执行单独的查找。如果配置多个键表达式,则处理器将为每个记录执行多个查找。

    默认值为“Per Batch”。

    Key Expression 在Redis中查找的键。输入键名称或输入定义该键的表达式。

    例如,输入以下表达式以将city字段中的数据用作查找键:

    ${record:value('/city')}
    Output Field 记录中要传递查找值的字段名称。您可以指定一个现有字段或一个新字段。如果该字段不存在,则Redis查找将创建该字段。
    Data Type Redis中值的数据类型。

    默认为字符串。

    Enable Local Caching 指定是否在本地缓存返回的键值对。
    Maximum Entries to Cache 要缓存的键值对的最大数量。当达到最大数量时,处理器将从缓存中淘汰最旧的键值对。

    默认值为-1,表示无限制。

    Eviction Policy Type 过期时间过后,用于从本地缓存中淘汰键值对的策略:

    • Expire After Last Access-计算自读取或写入最后一次访问键值对以来的过期时间。
    • Expire After Last Write-计算自创建键值对以来或自上次替换值以来的过期时间。
    Expiration Time 键值对可以保留在本地缓存中而不被访问或写入的时间。

    默认值为1秒。

    Time Unit 到期时间的时间单位。

    默认值为秒。

  3. 在“Redis”选项卡上,配置以下属性:
    Redis属性 描述
    URI Redis服务器的URI。使用以下格式:

    redis://<host name>:<port number>/<database>

    如果服务器使用默认数据库,则可以省略数据库。

    您可以选择包括密码以登录到Redis服务器。例如:

    redis://:<password>@<host name>:<port number>/<database>
    Connection Timeout (sec) 等待连接的最长时间(以秒为单位)。

    默认值为60秒。