一次代码优化经验的分享

记录一次工作中的代码优化。

这里讲代码的优化,如果排查定位需要优化代码,下期讲

优化代码中应用到了设计模式(模板/策略),SpringBean注入,异步线程池,Redis。

一、代码功能介绍

服务获取Kafka上报的有数据:分析指定的canId中异常的告警。实时告警和历史告警数据维护。

为防止数据直接打入到mysql,用redis做缓存部分告警信息。

一次代码优化经验的分享_第1张图片

 业务图: 117/3E5都属于CanId, A,B,C,3E5A都属于具体的告警。一次代码优化经验的分享_第2张图片

 二、代码结构

 优化后的代码结构按照canId(117/3E5/200....等10类型做维度),采用设计模式中的模板方法模式和策略模式优化代码,并缩小Redis的范围,之前通过Vin绑定是A,B,3E5A具体的告警上判断是否有告警,现在在Vin绑定117,3E5等10个大类,因为之前的小类多达到100多个。

 

你可能感兴趣的:(Java后端实战技巧,优化,java,redis)