专栏名称: 芋道源码
纯 Java 源码分享公众号,目前有「Dubbo」「SpringCloud」「Java 并发」「RocketMQ」「Sharding-JDBC」「MyCAT」「Elastic-Job」「SkyWalking」「Spring」等等
今天看啥  ›  专栏  ›  芋道源码

MySQL+Redis,百万数据轻松优化

芋道源码  · 公众号  · Java  · 2024-11-16 16:47

主要观点总结

本文介绍了一个对大数据量查询优化的案例,通过数据分类归档、使用缓存和定时任务等方式,提高了查询效率。

关键观点总结

关键观点1: 背景介绍

客户采购了WAF防火墙产品,随着系统运作,数据量增长,导致部分报表页面加载时间过长,用户体验差。

关键观点2: 问题分析

原报表接口通过直接查询数据库进行统计,效率较低。代码中存在大量重复和冗余,需要进行优化。

关键观点3: 优化思路

采用数据分类归档的方式,通过缓存和定时任务减少数据库操作,提高查询效率。

关键观点4: 具体实现

1. 将事件详情按事件状态进行归档,将次数缓存到redis用于报表查询。2. 定时同步数据到数据库。3. 统计近24小时内的数据,将前23小时的数据存入缓存。4. 使用Future做异步处理,按预估的查询效率排序。

关键观点5: 结果对比

优化后,150万的日志量查询时间在1秒内,比老版本大幅提高。

关键观点6: 总结

数据分类归档是一种可行的解决大数据量查询的方式。通过缓存和定时任务,减少数据库操作,提高查询效率。可以使用Future做异步处理,按预估的查询效率排序,提高系统整体性能。


文章预览

👉 这是一个或许对你有用 的社群 🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入 「 芋道快速开发平台 」 知识星球。 下面是星球提供的部分资料:   《项目实战(视频)》 :从书中学,往事上 “练 ” 《互联网高频面试题》 :面朝简历学习,春暖花开 《架构 x 系统设计》 :摧枯拉朽,掌控面试高频场景题 《精进 Java 学习指南》 :系统学习,互联网主流技术栈 《必读 Java 源码专栏》 :知其然,知其所以然 👉 这是一个或许对你有用的开源项目 国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。 功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能: Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览