Flink 使用 Guava cache来实现维表数据热存储之资料整理

本文介绍了在Flink实时流处理中如何利用Guava Cache实现维表数据的热存储。通过引入Guava库,设置缓存最大容量、过期时间和并发级别,并展示了定时刷新缓存的实现方式。示例代码演示了如何将接口返回的JSON数据存储到Guava Cache中。
摘要由CSDN通过智能技术生成

需求分析:

  Flink实时流处理过程中,需要使用维表数据,我们需要加载维表数据进行join,一般分3种方式

 

1,使用预加载,在open方法里面读取数据

  也可以定时读写redis的数据,同步更新内存数据

 

2,使用分布式缓存--不推荐

 

3,使用Guava cache 异步IO缓存

1)导入依赖:

<dependency>

    <groupId>com.google.guava</groupId>

    <artifactId>guava</artifactId>

     <version>25.0-jre</version>

</dependency>

 

2)简单使用代码

 

// 通过CacheBuilder构建一个缓存实例
Cache<String, String> cache = CacheBuilder.newBuilder()
                .maximumSize(100) // 设置缓存的最大容量
                .expireAfterWrite(1, TimeUnit.MINUTES) // 设置缓存在写入一分钟后失效
                .concurrencyLevel(10) // 设置并发级别为10
       

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值