Skip to main content

FetchDistributedMapCache

从分布式缓存中查询指定键所对应的缓存值

参数说明

缓存标识符

指定查询数据实体的缓存键,可以是数据流属性或者是一个表达式,多个值以逗号分隔

缓存服务

指定用于缓存数据流的控制器服务DistributedMapCacheClient

把缓存的值放到属性中

指定缓存的值是放入流文件的属性中,还是放入流文件的内容

属性值的最大长度

如果把缓存的值写入到流文件的属性中(通过设置"把缓存的值到属性中" 属性), 会被设置到属性值的最大字符的数量. 这一点很重要,因为属性保存在内存中,而较大的属性将很快导致内存不足. 如果输出比这个值长,则将截断它. 所以考虑设置尽可能的小

字符编码

指定缓存值的字符集编码,这仅在路由到属性时使用

输出连线

  • failure连线表示查询的键为空,或无法与缓存服务端进行交互时的数据流输出
  • success连线表示成功在缓存中找到对应数据的数据流输出
  • not-found连线表示未在缓存中找到对应数据的数据流输出

示例

GenerateFlowFile配置

为避免生成过多数据,将组件”调度“中的”运行安排“设置为7 days。再将”自定义文本“设置为空,因为此流程中GenerateFlowFile组件是为了启动整个流程,故不设置数据

流程说明

在此流程中会通从缓存中查询键名为id_cache的数据。注意,需要在缓存中先写入此数据,同时除了在组件中设置缓存的客户端控制器服务,还需要在模板的配置页面中新增一个DistributedMapCacheServer服务端控制器服务

FetchDistributedMapCache设置

以查询缓存的JSON数据为例,设置了缓存标识符为id_cache,分布式缓存服务为DistributedMapCacheClientService控制器服务,其余属性保持默认配置

结果

最后输出结果如下:

  • success连线输出结果

重新设置缓存标识符为cache,此时因为缓存中没有对应数据,结果应该输出到not-found连线

  • not-found连线输出结果

流程模板

参见附件(请右键另存保存):模板文件