00:00
就是下面咱用red把首页数据放到red缓存中去,那我们要怎么来做呢?大家看啊,比如一会儿咱首先呢,就是我们因为现在我们用的是boot工程,所以咱用boot整合这个red,所以第一部分咱需要在里边引入这个依赖,包括S这个整个writing依赖,你看这个依赖啊,叫做这个。Date red,还有一个相关这个common po,就是所需要这个。连接值的一部分啊,这是相关依赖,然后有依赖之后,咱们用的方式就是在里边呢,我们可以创建一个这个东西。不知各位是否记得啊,Configuration是不是一个配置内容,咱创一个radi缓存,一个配置类,里边配置它的插件,这个代码不需要各位去敲一遍,是固定的写法,它里边就是两个插件,一个做这个缓存的,一个做这个缓存管理的,然后里边主要用到其实是这个东西。
01:02
咱看这个词啊,叫做red to,就是一个叫red模板,它的底层用到这个,然后进行ready操作啊,这咱一会儿复制就可以了,主要是。这个配置类里边配置插件,然后配置之后,我们在这里边就最终用一下,但是用的话呢,我们现在用的方式给大家这么做,但基于损boot整合用到里边,这个叫缓存注解方式,把数据加到read中,就是咱用注解实现,在过程中呢,会涉及到有这么几个注解,就是给大家会介绍这个该怎么去用,包括注解什么含义啊,所以咱们现在我们就是基于这个s boot的缓存注解方式,把数据加到缓存中去,后面咱会用那个,就是直接用red tot也能做到啊,咱现在先用注解来实现。这各位先知道啊。比如说以后别人问你啊,说你们这个具体怎么用的,你可以说我们是用整合,然后基于的缓存注解做到的,包括别人问到你注解,你可以把注解给他提一下,比如说第一个Co able啊,包括这个啊catch able,包括catch等等其他注解啊,这咱们马上来说到啊,这是关于我们目前的实验方式,那下面咱开的就具体做一下啊,展开怎么做啊。
02:16
给各位画这个图上啊来实现。首先我们做的第一步就是啊第一步。咱们做法就是呢,需要创建这么一个叫redit一个配置类,把这创建用于我们的操作,在你创建配置类的时候,它主要里边有这么两步,第一步就是需要在里边先引入就是boot。整合ready的这个依赖。啊,整合red相关的依赖,咱们把这过程呢,写到我们的common中,因为咱们其他地方也要用到啊,我们就写到我们的common里边去,这是我们的第一部分,然后有入带之后,第二部分咱就是直接创建那个redit这么一个缓存的一个配置类,里边配置它相关的一些插件,主要就是第一步做这事情,引入依赖配置插件,咱给它为了通用写到我们的comment中,因为其里边也要用到。
03:17
啊,第一步,那咱看一下怎么做啊。首先第一个呢,咱先找到我们的common里边,Common中的依赖咱之前是引过的,就是当时我没有说现在咱们给他看到啊,在里边呢,两个依赖这两个。一个叫做start date ready,这是整合ready这个依赖,然后还有依赖是这个就是ready所需要这个common po是这个连接池这个东西嘛,这两依赖之前我这应该是注掉的,因为现在把这两依赖给它打开,这是它的第一步操作。就是引入依赖,但是打开之后呢,这依赖应该会联网去下载啊,但我说明啊,这依赖下载啊,经常会下载失败,所以各位看一下,如果你下载失败,你把我的依赖直接复制到你仓库中去啊,咱找一下这个依赖啊,你先看有没有,没有的话你直接复制就可以了,他经常会下载失败啊。
04:12
他怎么找这依赖呢?你到仓库中找这目录,Org阿帕奇,Comins,咱找到啊,这是我的仓库在里边,这个叫org阿帕奇,还有一个叫commons commons里边来看这个名字叫commonvis po2这个。然后里边有这个对应的版本啊,你把这个如果你没下载成功,把它就复制到你当前这边,就把这科目二直接复制过去啊,我这个是之前下载过的啊,就是里边的这个东西啊,这各位给他知道啊,这是第一步引入依赖,就你把这依赖打开就可以了,但是咱引用到是我们的comments里边。给各位先截过来啊。我们就是在comments。他这个home文件中。
05:02
引入。然后引入了依赖,就是咱们刚才看到的这个东西啊,这是我们做的一部分啊,然后有之后第二部分,咱就在里边创建一个配置类,这配置类呢,不需要各位去写一遍,咱直接复制就可以了,因为它是一个固定的东西,就是一个配置类。记成一个类,然后里边写上它的插件就可以了,那咱们把它就创建一下啊,我来写一下啊,咱放到common中,比如说我们看到common里边的,咱找一下之前的,我们看放哪里合适啊,就放这里吧,因为这里边之前有一个swag,那我跟swag放到一起,我建一个RI配置类,我们起名字就叫啊,名字词连起。然后写完之后呢,在这类上边先加上第一个注解,这是必须的,要这个CONFI1GURATION表示是个配置类,然后加上之后咱们需要再加第二注解,就表示开启的缓存叫Apple开。
06:00
给它加上啊。加上这个注解开启的缓存叫unable cash这个。注意啊,这种写法咱应该很多地方见到,比如说咱们昨天写那个na,有一个什么unable cover client,现在是unable。开始啊,就是开启这个缓存注解。我加个注释啊。开启缓存,然后这是表示我们的配置类,然后加上之后,咱需要让这个缓存,这个配置类,让它去继承一个类,就这个类叫catch configuration support,因为它里边主要功能是在里面做到的,咱需要做个继承。那我继承一下啊,就是把这个这个继承。然后继承之后这个类创建了,在类里边呢,咱需要配置有两个插件,就这两个,不需要各位敲,我把它就直接复制过来,因为是固定的写法。这个啊,拿过来。然后里边啊,有一些相关的依赖,我们给他都引入啊。
07:03
呃,我们用那个自动导包啊,那给它引一下,而这个配置类呢,就是我在这个源码中给大家也听出来了啊,就是这个类,你把这个类直接复制到你那个就是里边去就可以了,我把这个啊依赖直接拿过去。就是这部分啊。在这里。所以这样的话,咱把这个配置类就创建了,然后创建之后这配置类咱们简单看一下是什么意思啊,首先两个插件,第一个叫red to里,就是一个叫red模板,因为咱们在里边就是可以集成这个red to里,对我们这个red缓存做一些相关操作啊,这叫ready to里。然后你看啊,这write to是咱刚才导那个依赖中就是spring date right扣里面的,也就是这个包中的啊,相关这个模板用它就是three BOO整合ready用这个做到用这个ready。
08:03
这是第一个啊,里边一些新闻设置不需要咱们改什么,然后第二部分叫做开始manage者,就是针对缓存的管理,在管理中呢,主要做的什么,比如类型转换等等,然后里边有一个地方希望各位注意啊,就是这个地方。这是什么呢?就是现在在里边呢,是设置了你这个缓存中的数据的一个过期时间,咱刚才提到了这过期时间什么意思呢?这里边我这里设置成是600秒,就是超过600秒这数据就没有了,如果在600秒以内数据是存在的,超过600秒数据就取不出来了啊,咱就给它改成600,当然后面可以再设置啊,现在这个配置内就完成了啊,咱做的第二部分。我把这个类给大家记过来啊,各位写的时候注意,你可以把我这个原码中听力类直接复制就可以了啊,因为这是一个固定的写法,但是你给他大概能看懂,第一个模板就是集成的,第二个就是cash manager做管理,比如说我们的过期时间啊,在里边可以设置。
09:06
存做到了啊第一步,然后第一步做到之后,咱看第二步,第二步呢就来具体使用一下,我们这个缓存就是把数据放里面去,那怎么放,咱就可以直接用这个。注解就可以实现出来啊,那我们给他用一下啊,比如我现在我就以这个班ner为例,这课程跟讲师跟他一模一样,我就在课上也是个班啊,各位可以把讲师课程加上,做法跟你没有区别,那咱给他加一下啊,咱看怎么来加。各位看到啊,首先呢做法就是咱们先来到banner那个方法中来,把这先关掉,你这里边已经写过了,来到banner的方法中啊,就这位置打开啊,但是前提条件你这common在中需要引入,咱之前引过了,就之前有这个啊,所以里面可以使用,然后班的中我们找到它这个方法。
10:00
比如咱就找这个啊,这是咱刚才做这个。查询所有的B这个方法啊,然后这个方法刚才我特别说过,为了咱们方便,我是在service中单独写的方法,但是写到CTRL中也没有错啊,写到这位置,这是咱的方法,那这方法要怎么做?下面啊,大家看这注解啊,我这里边给大家列出了三个比较常见注解,大家用的一般都是第一个,第三个比较多啊,我先做个介绍,然后咱给他用一下啊。来看第一个注解。这注解叫什么呢?叫这个cash是able,也就是说啊,你把这注解就可以加到咱这个方法上,然后方法里边呢,就是方法上加一注解,注解里边呢加一些属性能设置新闻操作,大家看第一个注解QK就是cash able,它什么意思呢?这里写到啊。根据方法对其返回结果进行缓存,然后下次请求,如果缓存存在,直接返回读取缓存数据,如果不存在,执行方法,并且把返回数据放到缓存中,一般用在查询方法上,这叫catch able啊,里边做了描述,那这段话如果读了一遍,各位是否能听懂啊?那我把这话给大家再解释一下啊,也就是缓存一个基本的过程。
11:21
啊,说一下什么意思啊。给各位写一下啊。我还是画张图上啊。咱写一下第二步。就是第二步做法,就是咱们在我们那个啊,查询所有banner的方法上面。添加上这么一个缓存的注解,这注解就叫做k able,把这个加上,然后这个注解它具体的含义是什么,给大家我来说一下啊,我就在里边画一下这个缓存的过程。我就这么来画啊。给大家画到这个位置啊。比如现在我左边的是我们那个页面,或者说客户端的这么一个调用,然后右边是咱那个服务器啊,就是服务端我们里边那个据体那个内容,比如说我这是那个参所有那个。
12:11
Banner啊,咱就叫get o banner。然后get o搬点叉之后,它肯定会返回这么一个。List的集合,把集合会做返回啊,反这个东西,那现在如果说我现在在这个get o班的上边,咱们加上了这个注解,就这个cash able之后,它有什么样的效果呢?给大家说一下啊,比如我现在。我这里边就是。在页面呢,去调这个叫做get o be,就是搬的这个方法的时候,它会怎么做呢?首先它的做法就是它会先到缓存里边啊,就是这位置啊。先到咱们的缓存里边。看是否有数据啊,就是先去查缓存,如果说缓存中有数据,那怎么做呢?他就把这数据给咱们做一个返回啊,如果有数据他就做一个返回。
13:10
在这个位置。有数据就返回,这是第一部分,但是呢,我们第一次查缓存中肯定就没有数据,那它会怎么做呢?给大家画一下啊,它的做法就是如果里边没数据,那怎么做?他就会去查我们的数据库,就是DB database查数据库,然后查完数据库之后,把数据库的数据放到缓存中,然后再给他返回,包括下次再查的话,缓存中是不是有值了,那他就直接查缓存,而不去查数据库。也就是说的简单点啊,就这位置。第一次。查询,他首先会去查询数据库,然后把数据库查询出来的数据。给他返回,并且把返回的数据放到咱的。
14:01
缓存中啊,这是第一次会这么来做,然后这里边就是第二次,他怎么做呢?第二次查询他首先肯定是查询我们的缓存,发现这个缓存里边有数据,那就直接返回,如果缓存中没有数据,他再去查数据库,还是按照第一次的过程把数据库数据返回,再把数据放到缓存中,以此类推啊,按照这个过程就能做到,而这么做的话,就是第一次查数据库,后面这几次只要你缓存中有数据,它都去读取缓存中内容啊,所以它里边就这个原理,而这个k able做就是一过程,只是说这代码不需要咱们写了,因为它这个注解中把这过程都帮咱做了,实现咱只需要在方法上面加上这个注解就可以了啊,这是第一个注解,就是先查缓存,有数据返回,没有数据查数据库,再返回放到缓存中。这个啊,就是第一个啊开大家给他知道,然后这个方法,这个注解一般用在查询方法上,它里边几个属性,包括一个叫value,还有一个key。
15:08
Value啊,表示什么呢?就是你的缓存名称K是个科研准,就这个值可以没有,然后这两值会构成你存到value中那个K的名称,因为咱刚才说到了RA是不是基于key value存储的,他们就决定你的K叫什么名字啊,这咱一会会测试出来,各位先知道有这么一个注解,叫这个K是able啊,这是第一个,然后还有第二注解也能做缓存,这注解是什么呢?叫K是put。它也是刚才这个过程就是这个东西啊,一般用在我们的新增或者说添加方法上啊,它是这个过程,就是这里边,如果你方法中直接从缓存中读取啊,没有的话去查数据库,这一般用在添加法上,然后还有第三个注解叫K,这个注解跟前面过程差不多,而这注解跟之前的区别是什么呢?里边啊有一个属性。
16:02
这个属性。这属性是什么呢?就是这个值,如果你改成处,那表示缓存数据会清空,根据你的缓存的名字把数据清空。这个注解一般用在我们的。修改或者删除方法上,比如我现在把这数据删掉了,那缓存数据是不是要删掉,包括我更新了,那缓存数据肯定要删掉再添加,所以咱用这个注解就是一般用在我们的更新或者修改,当然也能用在添加上,添加之后啊,这个也可以把它删除再添加。这是我们说的三个注解啊,大家给他有个印象啊,我再说一遍,第一个catch able,咱一般用在查询方法上,它的作用就是你先查缓存,有数据返回,没数据查数据库。把数据库的数据放到缓存中,再进行这个返回。包括第二次查,那就直接查缓存数据,有数据就返回。
17:01
第二个注解叫cash put,它就表示我们现在做添加手操作,就是添加之后缓存数据会做这个相应内容,然后最后一个叫cash这个注解,它就表示比如说现在我们做修改或者删除的时候,那我可以把缓存数据清空,然后往里边再放新的内容,他用这个属性就是o entrance。这个只等于处就表示清空所有缓存啊,然后这些里边都有一个value,它就表示你的缓存名称。这个啊,我们做了一个说明,关于这个三个注解的一个介绍啊,然后介绍之后,咱下面给他就用一下,用法很简单啊,你只需要在方法上边加上这个注解就可以了啊,那我们给他就我直接就加下啊,咱就加这个方法上,这是查询方法,然后你看这个方法返回是不是集合呀,咱把集合放到缓存中,那我加一下啊。这注解咱刚才说到了这个注解。CA是e able啊叫K是able这个注解。
18:03
然后加上之后在里边呢,咱可以写两个属性,一个叫K。还有一个属性啊,它叫里边这个就是。Value啊,两个属性我们可以写一下,然后这两个属性会构成咱们那个ready中那个key的名字,属性名字你可以随便写啊,那我就跟我课件中写成一样了啊,Y6我叫这个。B啊,比如Y6就叫。Banner,然后这个key,比如我就叫这个。Select in that例子咱加上这个名字啊,这两个顺序无所谓啊,我课件中是前面写的value,后面写的K,前面写K后面value都一样的啊,这没有特别的,呃,那我也这么写一下吧。就顺序无所谓啊,前后都一样。这个咱们就加上了啊,所以就是我们这么加之后,你再做长音操作,那他会怎么做呢?又把你返回数据会放到缓存中,然后下次你再去查询,它就会从缓存中把数据给我们查出来,主要啊就是这么一个特点,所以咱们把这个九。
19:10
加上了啊,就是这么一个基本内容啊,主要是加个注解就可以做到。啊,这个啊,给大家截个图,咱们在方法上编。加上注解。这个啊,你要接过来。这个我向下画一点啊。是这位置啊,所以现在咱把它就加到了我们的方法上来啊,就是这么来做,但是这加的时候呢,咱加完之后呢,咱的功能并没有做完,因为咱们现在是不是要用red做缓存啊,所以咱必须有red,也就是你的red服务,我们需要做个启动啊,把这个需要清起来。所以咱们啊,下面来请这个ready的服务。这个啊,我先保存。
我来说两句