在做后台服务开发时,怎么做统计呢?
- 精度:1分钟,5分钟,10分钟,15分钟,半小时,1小时
- 精度选择:精度的选择通常根据业务来判断,如果是频繁调用的,需要知道每分钟的调用量,通常指的是上游服务,可以使用高精度的统计。如果调用不频繁,可以按半小时,甚至一小时来统计一次,通常指的是下游用户,比如说AI的使用,通常个人一小时不会使用太多次,如果按分钟记录,很多都是0的,没有意义。
由上,大家应该知道如何去选择精度了。
思路
redis+mysql
流程:
- 获取精度,这个可以在管理中心进行配置,这样子比较灵活一点
- 关于时间格式:这个格式不唯一的,反正可以区分就可以。原则,要根据用户的使用频率来设置缓存的过期时间,因为我们是由下一次调用才会去做上一次的统计的。如果有些用户隔几个月才用一次,那么上一次的统计可能就有问题的。也可以通过缓存过期的方式入库。
- 这个统计,加了缓存,所以建议大家异步执行,不阻塞主调用流程。
管理员也可以主动下发指令,让程序统计某某内容,也就是把缓存中的数据入库
图表
注意,我们在画图表的时候,要动态计算统计值的上限和下限
并且,要加多10%
这样做出来的图表才是好看的