Apache NiFi PutDistributedMapCache缓存数据生命周期咨询
Apache NiFi PutDistributedMapCache 缓存生命周期说明
PutDistributedMapCache缓存的键值对生命周期没有固定值,主要由以下几个因素决定:
组件自身的TTL配置:在PutDistributedMapCache的属性里,有一个
Time To Live(单位:秒)的配置项。你可以在这里设置具体的过期时间,一旦到了设定的秒数,对应的缓存项就会自动失效。如果把这个值设为0或者留空,缓存项会一直存在,除非被主动清除或者缓存服务器触发了清理机制。缓存服务器的全局策略:NiFi的分布式缓存依赖外部服务(比如NiFi自带的DistributedMapCacheServer、Apache Ignite、Redis等),这些服务可能有自己的全局规则。比如部分缓存服务会在内存不足时,用LRU(最近最少使用)这类算法淘汰旧的缓存项,不管你有没有设置TTL;有些服务也可能有全局默认的过期时间,不过组件设置的TTL会优先覆盖这个全局值。
主动清理或服务器重启:你可以用
RemoveDistributedMapCache组件主动删除指定的缓存键值对;另外,如果缓存服务器重启,未做持久化的缓存数据会直接丢失——如果服务器配置了持久化,重启后数据可能恢复,但过期时间会基于存储时的记录继续计算。
内容的提问来源于stack exchange,提问作者Shaheer Shah
相关产品推荐
相关产品推荐

