关于需要实时计算的数据的缓存

场影

用户的学生某门课的分数需要由学习时长计算得出,计算时,还需要有计算规则,某门课程的规则有可能不一样,比如学习一分钟算多少时间,满分是多少分等..

方法一

收到学生的学习时长时,就计算分数,好处就是分数有时效性,学生时就能反映课程的分数,缺点就是一但同时学习的人数上升到某个阶段,数据库的压力就会变成系统的瓶颈.

方法二

收到学生时长时,先不计算分数,统一在某一时刻计算学生的成绩,好处就是数据库的实时压力会小很多,但是实效性不高,一般需要第二天才能看到分数。

方法三

针对以上两个方法的缺点,可以增加一个更新时间,再加一个定时任务,每次计算分数的时候,只计算已经有更新的用户,没有更新的用户不计算,计算完成后,会更新分数,更新分数时,会比较是否有较新的更新,如果有,就不再计算,如果没有,就计算分数,这样不浪费计算资源,又能保证一定的时效性..
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值