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

汶上网站制作搜索引擎网络推广方法

汶上网站制作,搜索引擎网络推广方法,登录到wordpress后台,设计方案格式模板文章目录 占位符解析1、原始实现:无缓存解析2、优化实现:缓存解析结果 占位符解析 问题背景:在多数据源切换场景中,environment.resolvePlaceholders(value) 用于解析配置文件中的占位符(如 ${db.master})…

文章目录

  • 占位符解析
    • 1、原始实现:无缓存解析
    • 2、优化实现:缓存解析结果

占位符解析

  • 问题背景:在多数据源切换场景中,environment.resolvePlaceholders(value) 用于解析配置文件中的占位符(如 ${db.master})。如果频繁调用此方法,尤其是在高并发场景下,重复解析相同的占位符字符串会带来不必要的性能开销。通过对比优化前后的实现,验证缓存占位符解析结果对性能的提升。

1、原始实现:无缓存解析

以下代码每次调用时直接解析占位符:

public class OriginalDataSourceResolver {private Environment environment;public String resolve(String dataSourceId) {// 每次调用都解析占位符return environment.resolvePlaceholders(dataSourceId);}
}

性能问题:

  • dataSourceId 是固定值(如 ${db.master})时,每次解析相同字符串,重复计算
  • resolvePlaceholders 内部需遍历 PropertySources,解析嵌套占位符(如 ${db.${env}.url}),存在计算开销

2、优化实现:缓存解析结果

通过 ConcurrentHashMap 缓存已解析的值:

public class OptimizedDataSourceResolver {private Environment environment;private final Map<String, String> cache = new ConcurrentHashMap<>();public String resolve(String dataSourceId) {// 使用缓存避免重复解析return cache.computeIfAbsent(dataSourceId, environment::resolvePlaceholders);}
}

优化关键:

  • 相同 dataSourceId 仅解析一次,后续直接从缓存读取。

性能测试验证:JMH基准测试

测试目标:对比无缓存与有缓存的解析性能

  • 测试数据:
    • 简单占位符:${db.master}
    • 复杂占位符:${db.${env}.url}
  • 并发量:模拟 16 个线程并发调用
@BenchmarkMode(Mode.Throughput)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
@State(Scope.Thread)
@Fork(value = 4)
@Warmup(iterations = 5, time = 5)
@Measurement(iterations = 5, time = 10)
@Threads(16)
public class PlaceholderResolveBenchmark {private OriginalDataSourceResolver originalResolver;private OptimizedDataSourceResolver optimizedResolver;private final String simplePlaceholder = "${db.master}";private final String complexPlaceholder = "${db.${env}.url}";@Setup(Level.Trial)public void setup() {MockEnvironment env = new MockEnvironment();env.setProperty("db.master", "masterDataSource");env.setProperty("env", "prod");env.setProperty("db.prod.url", "jdbc:mysql://localhost:3306/db");originalResolver = new OriginalDataSourceResolver();originalResolver.setEnvironment(env);optimizedResolver = new OptimizedDataSourceResolver();optimizedResolver.setEnvironment(env);}/*** 测试原始解析器-简单占位符* @param bh*/@Benchmarkpublic void testOriginalResolver_Simple(Blackhole bh) {String result = originalResolver.resolve(simplePlaceholder);bh.consume(result);}/*** 测试优化解析器-简单占位符* @param bh*/@Benchmarkpublic void testOptimizedResolver_Simple(Blackhole bh) {String result = optimizedResolver.resolve(simplePlaceholder);bh.consume(result);}/*** 测试原始解析器-复杂占位符* @param bh*/@Benchmarkpublic void testOriginalResolver_Complex(Blackhole bh) {String result = originalResolver.resolve(complexPlaceholder);bh.consume(result);}/*** 测试优化解析器-复杂占位符* @param bh*/@Benchmarkpublic void testOptimizedResolver_Complex(Blackhole bh) {String result = optimizedResolver.resolve(complexPlaceholder);bh.consume(result);}
}

测试结果及分析

  • 测试结果如下:
Benchmark                                                      Mode  Cnt       Score       Error   Units
TT.PlaceholderResolveBenchmark.testOptimizedResolver_Complex  thrpt   20  315340.801 ± 59664.044  ops/ms
TT.PlaceholderResolveBenchmark.testOptimizedResolver_Simple   thrpt   20  332918.070 ± 51588.217  ops/ms
TT.PlaceholderResolveBenchmark.testOriginalResolver_Complex   thrpt   20      18.058 ±     2.609  ops/ms
TT.PlaceholderResolveBenchmark.testOriginalResolver_Simple    thrpt   20      36.011 ±     3.894  ops/ms
  • 结论:

优化后的 OptimizedDataSourceResolver 性能提升显著,吞吐量达到原始方案的 10,000 倍,缓存策略对高频占位符解析场景有非常明显的优化效果。

http://www.dtcms.com/wzjs/20144.html

相关文章:

  • 效果营销型网站建设长沙网站关键词排名公司
  • 银川网站制作公司指数函数求导
  • 个人设计网站论文摘要手机百度经验首页登录官网
  • 产品做网站如何谁来维护价格如何建立独立网站
  • 备案期间关闭网站sem数据分析
  • 网店建设方案网站搜索引擎优化技术
  • 北京网站设计济南兴田德润评价标题关键词优化报价
  • 广州市官网网站建设绍兴seo排名外包
  • 长沙百度网站推广优化搜索引擎营销的简称是
  • 户型图装修设计图app东莞网站seo公司
  • 做微商网站的软文怎样创建网站平台
  • 建设网站兼职怎样做好服务营销
  • 网站开发兼职接单平台seo发包排名软件
  • 郑州英语网站建设百度查询最火的关键词
  • 专业做小程序开发的公司优化什么意思
  • wordpress数据库查询数据库名seo 工具推荐
  • 做企业网站怎么收费的搜索引擎优化员简历
  • 做百度推广的网站吗专业seo网站
  • 建设招标项目常挂网站有哪些企业网站推广方案
  • wordpress内链工具提升seo排名的方法
  • 深圳全网营销网站百度查看订单
  • 电源 东莞网站建设seo平台怎么样
  • 麓谷网站建设网站统计分析平台
  • 宝鸡网站建设公司营销宣传方式有哪些
  • 外贸商城网站资质恢复原来的百度
  • 做博客网站什么空间好国内十大软件培训机构
  • 男生做网站运营的前景广州网络推广外包平台
  • 如何看网站关键词湖南seo优化推荐
  • 路由下做网站映射链接买卖
  • 怎样自做网站今日国际新闻大事件