欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

每10秒获取一次数据,求一天内8640次数据的平均值,有什么好的算法?

程序员文章站 2022-05-05 13:53:54
...
是这样,我PHP端,每10秒钟要获取一次子服务器的数据,如果每次都写数据库,纪录次数,到最后数据量就太大,如果有100个子服,那就性能问题就更严重了,考虑过写redis,但是写redis的话,json字符串也是够大的,而且在计算平均值的时候也比较麻烦,各位有没有什么好的算法解决?比如可以隔一段时间计算一下平均值,或者在存数据的时候有什么好的建议,希望多多帮忙,谢谢大家!

回复内容:

是这样,我PHP端,每10秒钟要获取一次子服务器的数据,如果每次都写数据库,纪录次数,到最后数据量就太大,如果有100个子服,那就性能问题就更严重了,考虑过写redis,但是写redis的话,json字符串也是够大的,而且在计算平均值的时候也比较麻烦,各位有没有什么好的算法解决?比如可以隔一段时间计算一下平均值,或者在存数据的时候有什么好的建议,希望多多帮忙,谢谢大家!

额。我太蠢了,每次接收数据记录次数,然后每次来新数据,就加到老数据上,最后再除以总次数,大家看这样行不行?

题主你的方法没问题,另外在存数据的时候,你也可以批量写啊,比如100个服务器,读10个写一次,一共写10次。10秒钟写10次数据库对数据库来讲毫无压力啊

题主方法正确,每来个数据,计算一次评论,旁边设置一个总次数计数器

相关标签: php 算法