登录
首页 >  数据库 >  MySQL

不该动数据库表的前提下,快速响应24小时统计数据

来源:SegmentFault

时间:2023-02-24 13:22:31 226浏览 收藏

大家好,今天本人给大家带来文章《不该动数据库表的前提下,快速响应24小时统计数据》,文中内容主要涉及到MySQL、mongodb、API、api设计,如果你对数据库方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

24小时统计

业务背景

最初设计的时候根据业务需求使用的统计数据是每天凌晨统计一次,
也就是最细的力度是天

24小时的统计数据,是从接口发出请求到服务端收到信息后的时间位开始时间,往前推24小时,这个时间段的数据统计信息;
在之前数据量比较小的时候,做了一层数据缓存,1s之内能返回;现在业务数据量大了之后,SQL的查询变得慢了,并且计也耗费时间,所以响应很慢,思考一番之后,有如下方案可以解决;

新的解决方案

  1. 由于对24小时数据的精确度不是很高,所以我们可以存放时间刻度位每小时的数据统计之后存入数据库,查询的时候只需要查询当前这个小时的+前23小时的数据
  2. 我们之间已经存放了按天为力度的数据,在加上小时的数据对业务并有太大的好处;我们考虑在API服务启动的时候,增加一个双端队列缓存数据,队列缓存的长度为24

    • 逻辑处理如下,可以定时处理,5分钟触发一次
      image
    • 这样在访问数据的时候,直接访问内存的数据,做累计就可以达到我们想要的额效果

总结

这种算是偷懒的形式,不过结合业务来时,这是使用内存还时间的方法,并可以较少浪费数据库存储空间。

文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《不该动数据库表的前提下,快速响应24小时统计数据》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>