quartz---我为什么要使用quartz

quartz---我为什么要使用quartz

quartz---我为什么要使用quartz

quartz是什么?怎么使用?本文不做介绍,有兴趣的朋友可以看笔者之前的博客以及自己查阅相关资料。本文笔者主要想介绍一下我为什么使用Quartz以及在“jrkj”这个项目中运用的场景。

应用场景一

更新静态数据

接着上一篇Redis的应用可知,我需要将首页所展示的数据存入redis中并且每隔一小时更新一次数据。

不知道您如果遇到这种问题如何解决,笔者在遇到这个问题时,首先想到的是多线程。当项目启动时我多起一个线程专门负责数据的查询并更新存入redis中,然后在写一个定时地每小时执行一次改更新方法。而当时一个偶然的机会听一个朋友说他们公司用了一个叫做quartz框架,简单的了解了一下我果断选择了后者。(当时主要出于两个原因:一、项目开发的时间比较紧,二、使用quartz拓展性比较好,维护起来比较方便,三、其他场景说明)。

应用场景二

自动结账

因为涉及到支付,如果学员在上完课之后,没有结课的话,这部分钱就永远是讲师的带收入而不是收入。显然这是不合理的,所以就需要一个自动结账的过程。类似于咱们在淘宝上购物如果我们不确认收货,也会默认一个时间段,如果超过这个时间段也会自动结账。

应用场景三

自动核算评价分数

学员在完成一次交易之后会对具体的某一门课程进行评价,而讲师的综合评价会核算其所授的所有的课程的所有评价并且按照一定得规则进行计算从而算出该讲师的综合评分 如果我们在每次查询讲师详情的时候再去计算这些分数的话,在数据少的时候也许没什么问题,当我们的数据量特别大的时候效率肯定是个大问题,如果我们每天凌晨3-4点的时候去核算呢?

所以这块我在数据库中增加了一个表用户存放讲师的综合评价,并在每天凌晨四点更新,如果我需要查询讲师的详细信息,我可以直接查询新建的表。

结束语

相信读者看了这篇博客和笔者的上一篇博客会发现频繁的出现一个词场景,我想,代码的任意一行都是有其存在的意义的。我们在敲代码的时候不妨问问自己,我写这段代码的应用场景是什么?我为什么要这样做,而不用另外一种方法?这样做解决了什么问题?如果每一个功能,每一个方法我们都能这样问问自己,我想这一方面能够提交我们得开发效率,另一方面也能培养了我们的业务思维(相信很多人都听过,业务思维的重要性),技术只有依托于业务才能发挥它的功效。

相关推荐

五公里骑共享电动车要多久?这4大关键因素影响出行效率,才知道
cad怎么新增字体样式 CAD字体库位置以及安装导入的教程
365bet客服电话多少

cad怎么新增字体样式 CAD字体库位置以及安装导入的教程

📅 09-12 👁️ 8855
dnf多久才能90毕业
365bet官方

dnf多久才能90毕业

📅 07-29 👁️ 3218
我的世界狗在哪里抓 狗位置分布详解
365bet官方

我的世界狗在哪里抓 狗位置分布详解

📅 08-18 👁️ 1727
征兵女生选什么兵种最好
365bet官方

征兵女生选什么兵种最好

📅 09-02 👁️ 6852
绝望之塔罐子史诗 dnf阿修罗绝望之塔换什么武器
365网站世界杯怎么进

绝望之塔罐子史诗 dnf阿修罗绝望之塔换什么武器

📅 07-26 👁️ 9359