FetchDistributedMapCache
从分布式缓存中查询指定键所对应的缓存值
参数说明
缓存标识符
指定查询数据实体的缓存键,可以是数据流属性或者是一个表达式,多个值以逗号分隔
缓存服务
指定用于缓存数据流的控制器服务DistributedMapCacheClient
把缓存的值放到属性中
指定缓存的值是放入流文件的属性中,还是放入流文件的内容
属性值的最大长度
如果把缓存的值写入到流文件的属性中(通过设置"把缓存的值到属性中" 属性), 会被设置到属性值的最大字符的数量. 这一点很重要,因为属性保存在内存中,而较大的属性将很快导致内存不足. 如果输出比这个值长,则将截断它. 所以考虑设置尽可能的小
字符编码
指定缓存值的字符集编码,这仅在路由到属性时使用
输出连线
- failure连线表示查询的键为空,或无法与缓存服务端进行交互时的数据流输出
- success连线表示成功在缓存中找到对应数据的数据流输出
- not-found连线表示未在缓存中找到对应数据的数据流输出
示例
GenerateFlowFile配置
为避免生成过多数据,将组件”调度“中的”运行安排“设置为7 days
。再将”自定义文本“设置为空,因为此流程中GenerateFlowFile组件是为了启动整个流程,故不设置数据
流程说明
在此流程中会通从缓存中查询键名为id_cache的数据。注意,需要在缓存中先写入此数据,同时除了在组件中设置缓存的客户端控制器服务,还需要在模板的配置页面中新增一个DistributedMapCacheServer服务端控制器服务
FetchDistributedMapCache设置
以查询缓存的JSON数据为例,设置了缓存标识符
为id_cache,分布式缓存服务
为DistributedMapCacheClientService控制器服务,其余属性保持默认配置
结果
最后输出结果如下:
- success连线输出结果
重新设置缓存标识符
为cache,此时因为缓存中没有对应数据,结果应该输出到not-found连线
- not-found连线输出结果
流程模板
参见附件(请右键另存保存):模板文件