00:00
呃,那我们要增加什么东西呢?是这样子的来看啊,呃,我举个例子,比方说这个人呢,某一个mid啊。M mid11吧,这个人对吧,他在8月1号登录了,他在8月1号算是活了啊,那他的状态是不是写了2021杠零八杠零幺有没有问题。一步一步的啊,我们大家分析一下,这里边我们还要加一点东西。我们还要加一点东西啊好,这个没问题吧,他在8月1号登录了,然后呢,状态里边写的是这个8月1号,那接下来啊,按照我们代码来说啊,这个m mid11还是这个人啊。M11在中间没有登录过了啊,下一次登录呢,是8月21号。好,那按正常的我们的业务逻辑啊,一比较8月1号跟八月这个21号也不相同,对不对,不相同呢,这条数据啊,那我们把这个状态要做一个更新,2021杠零八杠二幺,同时这条数据是不是也保留,有没有问题。
01:10
到这块有没有问题。没问题吧,好,但是呢,这里面有一个什么样的一个小点呢,那你看啊,呃,我这个刚才说了二号到20号这中间啊,这个人都没有登录过,都没有登录过,那我们这个状态是不是一直保留着。这个状态是不是一直保留着,有必要吗?这个状态可不可以清了?到了这个8月2号的时候,我能不能把状态清了。
02:03
能不能可以啊,哎,就是这个问题啊,那大家都说可以啊,那就好了嘛,怎么记告诉我怎么做对吧,这个才是最重要的。定时器。定时器去清空,可不可以我们写一个定时器,写每天凌晨。把所有的状态都清了,可不可以?在凌晨的时候把所有的状态都清了,能不能行?
03:06
在凌晨的时候把所有的状态都清了,可不可以啊,可以啊,但是呢,这个时候是不是需要自己写定时器啊?对吧,不好好,那这样你看啊,其实这个状态呢,这个状态啊,咱们。能不能给他来一个?他是不是保留24小时就够了。想一下。是不是保留24个小时就够了?对吧,啊,那我们要扩展的一个知识点就是什么呢?有的同学已经知道了,对吧,有的同学已经知道了啊,有同学可能预习啊,或者说自己在学习阶段找了很多帖子去看了,对于弗林港当中这个状态是可以设置TTL的。
04:03
对于link里边的状态是可以设置GTL,也就是说超时时间,那我只需要每个状态让它自己保留24个小时就够了。对吧,到了24个小时,你自动如果说没有人来操作,你的话,自动给我清掉就好了。对吧,我最多保留24小时啊,那就是我们扩展的一个点啊,给状态设置TTL,也就是超时时间啊在哪呢?肯定在这个上面设置了,大家有没有发现呢?我这次写法很奇怪,我把这个描述器啊给它写出来了。有没有同学注意到这个细节?我以前写描述器的时候,是不是都写到里边?对吧,啊,我这一次给他写出来了,为什么呢?因为我们要设置T点,就给它设计。啊,给他设置对吧,好,那我们看一下啊,在这个里面。
05:04
点。这。啊,就第二题这个叫enable time to leave time,所谓time to leave,你看啊,Time to leave是不是T。对吧,还能活多久啊呃,那这里面呢,他要一个叫state TTL conflict,是不是他要一个这么个参数要一个。State t con,好,那我们不管怎么样,我们直接。来,又一个state。T TL config对吧?好,完了直接在这报错了,那是因为什么呢?它的构造方法怎么样?私有化了啊,直接在类上面报错,并不是在括号报错,括号报错说明我们参数没传对吧,但是类上面报错说明我们调用了私有化的多导器,那既然私有化了,往往这个时候它都会提供一个什么。
06:01
他把这个构造器私有化。往往都会提供一个。标的对了啊,提供一个标的。提供一个build,用的是构造者设计模式吧,对吧?啊,这里边是一个设计模式啊,用的是构造者设计模式是不是吧,不然你直接去扭这个对象,然后用build啊,因为它里面有很多默认的配置信息,你不需要去改,所以呢,我们用它的一个什么点build。啊点build,最后呢,调用build啊调用build就好了,对吧,CTRL加V得到一个state t点二的一个conflict,好,那这个里边呢,报错,这报错对吧,我看一下这叫什么。要一个time。啊,要一个time对吧,好,那这边呢,我们就给他一个time.HOURS24。对吧,好,那这样设置了它会不会有问题呢。
07:03
对吧,我们设置保留24小时,它有没有问题呢?来我们写。有没有可能存在这样的一种情况啊,来,我是那个8月1号。这个九点。登录的。我是在8月1号九点当中的,那我们保留24个小时,对不对,写了保留24小时,那接下来呢,它是到什么时候。到8月2号九点删除吧,到8月2号九点才删除好,那这个时候有什么问题呢?比方说在8月2号这个是删除啊删除对吧,他在八点登录了。然后呢,这个人。八号十点的路。我们先单独分析啊,先单独分析啊,分析什么呢?呃,八点登录的这个人。这条数据正不正常?
08:02
一个一个分析啊,这条数据正不正常。这是8月2号的第一条数据,这条数据来的正不正常?这条数据肯定是正常的吧,对不对,好,那这个是这个点啊好,那接下来我们讨论这个事情,讨论什么事呢?这条数据不看,假如这条数据没有,他在8月2号十点。注意8月2号十点是他第一次登录的时间,是8月2号第一次登录时间,那这个数据正不正常。就是单独的啊,不讨论它这条数据正不正常。也是正常的吧,因为在8月2号九点的时候,是不是把那个数据删掉。把这个状态数据删掉了,好,那什么时候不正常呢?来看啊,八点的时候我登了一次,十点的时候我也登了一次,八点正常对吧,算进来九点的时候把状态给他干什么干掉了,哎,我把状态已经改成了8月2号了,但是呢,你给我干掉了,十点的数据是不是也保留了。
09:17
是不是也保留了?就是在如果说我们设置24小时的话,是不是八点跟十点数据都会保留,其实这里面缺一个什么。缺一步什么操作。缺一步什么操作对更新时间,要更新时间啊,那你看啊,这个时候我是不是把状态更新了。我是不是更新了状态,那这个时候,从这一刻开始,我应该重新倒计时24小时,对不对。我应该是不是从这一刻开始重新倒计时24小时,对不对,能不能理解?
10:07
没问题吧,啊,其实就缺这一步啊,缺这一步,那在弗林格关于这个。状态的一个时间啊,状态时间方面呢,它可以设置在这来。爹。叫set update time啊update table呢,有这个有DISABLE3种啊disable disable呢就关闭,就是就是什么意思呢?我们可以看一下啊,这个枚举吗?比较简单啊,Disable t dl is disable关掉了,你前面上升四小时没用,它是data怎么样?Not。啊,不过时了,就是你设置24小时没用,永不过时对吧,那我还不如不加呢,我不加这个它也是永不过时,我不听对吧?好,那还有这两个叫on create and right。
11:01
啊,On create and write,这是什么意思?就创建和被写的时候会重置。对吧,啊会重置。重置啊,最后一次访问时间对吧?啊,一定是要初始化,将会重新初始,怎么然后呢,当状态被创建,或者说呢,更新,更新每一次写操作的时候,它会更新对吧?好,这个呢是on read and write,也就是说被读的时候。对吧,他说了,他说the same as跟他一样,跟他一样,但是呢,同时也加了一个什么。读读的时候也会更新啊,那看这个名字就知道了,行,那我问大家当前我们这个地方用什么。我们这一块用什么。要哪个?我们当前这个需求用哪个。
12:04
对,是不是create and write呀,当你被重新写入的时候。重新做这个事吧,对吧?啊,重新倒计时24小时OK吧,这是状态编程当中的一个点啊,大家之前在学习的时候可能没有去讲到这个东西,但是有同学呢,自学的或者说呢,提前预习了,对吧,他是知道啊,那这块呢,我们设置写一下设置状态的超时时间。啊,超时时间以及更新。时间的方式啊,有同学呢,是预习了,或者说之前学的时候呢,自己看了官网对吧?啊可以设置这个超时时间,有同学知道,因为我刚聊这个事的时候,有同学就把这个事打印出来了啊,就打印出来了。对吧,这样的方式就好了,比你自己写定时器要好吧,对吧,比你自己写定时器要好太多了啊,你自己写定时器还麻烦这弗林格当中的一个点啊好,那这个呢,我们就要搞定啊,主要的这个需求当中呢,给大家扩展一个它这个状态,其实可以设置这个超时时间的。
我来说两句