当前位置: 首页 > news >正文

网站栏目结构图模板网站制作成app

网站栏目结构图模板,网站制作成app,重庆网上房地产网签合同查询,百度app官方下载安装目录 背景 Guava Cache 简介 实现方案 1. 项目依赖 2. Guava Cache 集成到 Flink (1) 定义 Cache (2) 使用 Cache 优化维表查询 3. 应用运行效果 (1) 维表查询逻辑优化 (2) 减少存储压力 Guava Cache 配置优化 总结 背景 在实时计算场景中#xff0c;Flink 应用中…目录 背景 Guava Cache 简介 实现方案 1. 项目依赖 2. Guava Cache 集成到 Flink (1) 定义 Cache (2) 使用 Cache 优化维表查询 3. 应用运行效果 (1) 维表查询逻辑优化 (2) 减少存储压力 Guava Cache 配置优化 总结 背景 在实时计算场景中Flink 应用中经常需要通过维表进行维度数据的关联。为了保证关联的实时性常将维表数据存储在 Redis 或数据库中。然而这种方案可能会因高频访问导致存储压力过大甚至出现性能瓶颈。 为了解决这个问题可以在 Flink 中引入本地缓存。本文介绍如何通过 Google 的开源库 Guava Cache实现对热存储维表访问的优化。 Guava Cache 简介 Guava Cache 是 Google 开发的一个 Java 缓存工具库具有以下优点 支持本地缓存提升查询性能。提供缓存淘汰策略如基于时间或容量。线程安全适合高并发场景。提供监听机制可在缓存失效时触发回调。 实现方案 1. 项目依赖 在 Maven 项目中引入 Guava 依赖 dependencygroupIdcom.google.guava/groupIdartifactIdguava/artifactIdversion31.1-jre/version /dependency 2. Guava Cache 集成到 Flink 以下是一个典型的实现步骤 (1) 定义 Cache 使用 Guava 提供的 CacheBuilder 创建一个本地缓存 import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder;import java.util.concurrent.TimeUnit;public class CacheUtil {private static final CacheString, String DIM_CACHE CacheBuilder.newBuilder().maximumSize(10000) // 最大缓存数量.expireAfterWrite(10, TimeUnit.MINUTES) // 缓存过期时间.build();public static String getFromCache(String key) {return DIM_CACHE.getIfPresent(key);}public static void putToCache(String key, String value) {DIM_CACHE.put(key, value);} } (2) 使用 Cache 优化维表查询 在自定义的 RichFlatMapFunction 中使用缓存查询维表数据 import org.apache.flink.api.common.functions.RichFlatMapFunction; import org.apache.flink.configuration.Configuration; import org.apache.flink.util.Collector;public class DimensionJoinFunction extends RichFlatMapFunctionString, String {Overridepublic void open(Configuration parameters) throws Exception {// 初始化连接到 Redis 或其他外部存储}Overridepublic void flatMap(String value, CollectorString out) throws Exception {String dimKey extractKey(value);// 1. 先查询缓存String dimValue CacheUtil.getFromCache(dimKey);// 2. 如果缓存未命中再查询外部存储if (dimValue null) {dimValue queryFromExternalStorage(dimKey);if (dimValue ! null) {CacheUtil.putToCache(dimKey, dimValue); // 写入缓存}}// 3. 关联维度数据if (dimValue ! null) {String result enrichData(value, dimValue);out.collect(result);}}private String extractKey(String value) {// 从输入数据中提取维表关联键return value.split(,)[0];}private String queryFromExternalStorage(String key) {// 模拟查询 Redis 或数据库return mock_value_for_ key;}private String enrichData(String input, String dimValue) {// 组合维度数据return input , dimValue;} } 3. 应用运行效果 (1) 维表查询逻辑优化 缓存命中时直接返回缓存数据访问延迟为纳秒级。缓存未命中时查询外部存储并将结果写入缓存后续重复访问相同的 Key 时不再查询外部存储。 (2) 减少存储压力 Guava Cache 本地缓存避免了大量高频查询直接命中外部存储降低了 Redis、MySQL 等服务的负载。 Guava Cache 配置优化 缓存淘汰策略 expireAfterWrite基于写入时间自动过期。expireAfterAccess基于访问时间自动过期。maximumSize限制最大缓存数量避免内存占用过高。 异步加载机制 如果需要异步加载数据可以使用 CacheLoader在缓存未命中时自动加载 CacheString, String cache CacheBuilder.newBuilder().maximumSize(10000).build(new CacheLoaderString, String() {Overridepublic String load(String key) throws Exception {return queryFromExternalStorage(key);}}); 监控与统计 使用 Cache.stats() 查看缓存命中率等统计数据便于优化缓存策略。 总结 通过在 Flink 中引入 Guava Cache可以显著降低热存储维表的访问压力提升系统性能。 这种方案适用于维表数据更新频率较低且查询热点相对集中的场景
http://www.hkea.cn/news/14390108/

相关文章:

  • 建设银行网站维护买高端品牌网站
  • 东莞网站优化流程自学设计的网站有哪些
  • 网站租用服务器wordpress单页
  • 企业网站内页建筑网官网下载
  • 企业微信网站建设方案模板下载自己弄个网站
  • 网站设计公司费用公司关键词seo
  • 录音录像手表网站重庆模板网站建站
  • 建设一个行业性的网站价格网络管理系统提供网络管理需要的大量运算和记忆资源
  • 代运网站asp网站开发软件
  • 如何做网站需求表格清单学做的网站基础蛋糕
  • 怎么用源码做网站网站建设管理工作总结报告
  • 网站收录的页面被k出来潮州网站推广教程
  • 公司网站建设找哪家星子网易云
  • 专门做鞋的网站wordpress xml生成
  • 山西省网站建设专门做二维码的网站
  • 镇江建设网站的公司广州天府路一栋楼外墙脚手架坍塌
  • 多用户商城网站建设公司营销策划与运营培训
  • 替别人做设计的网站多少钱app小程序软件定制开发
  • 网站建设祥云平台网站运营需要哪些知识
  • 给微商做网站保亭住房和城乡建设局网站
  • 爱站网关键词挖掘工具站长工具三亚凤凰镇网站建设兼职招聘网
  • 西安网站建设陕icp优化公司治理结构
  • 玉环网站建设公司cms网站开发网站模板
  • 帮别人做ppt赚钱的网站连云港做网站公司哪家好
  • 帮别人做网站维护违法人员优化方案怎么写
  • 网站权重与排名浅谈网站二维码怎么做的
  • 做得好的网站铜川免费做网站
  • 网站代下单怎么做嘉兴网站关键词
  • 建网站用自己的主机做服务器如何做购物网站的后台
  • 网站后台用什么做开发网页系统一般多少钱