00:00
好,咱们实现了角色认证和权限认证之后呢,哎,咱们不得不考虑一件事情啊,在咱们的哎系统当中啊,你用这个Siri实现了这些认证之后呢,诶咱们的系统的用户访问量一定会很大啊,这块呢,可能会出现高访量,高并发,那这块呢,对于咱们的数据库的压力也是很大的,而且但凡啊这个什么呢,数据库压力一大,访问的什么呢?速度肯定会变慢,用户体验也会变差,那有没有更好的办法呢?当然有啊,为了缓解诶这个数据库的IO压力,为了提高咱们的用户体验,哎,咱们的权限信息是不是应该放到缓存当中啊?哎这块呢,咱们整合一下缓存啊,使用缓存工具啊,咱们的eh cash啊,使用它来进行一个缓存的一个存储,那这块呢,哎,咱们还是啊,了解新工具,先了解它是什么,咱们为什么要用它,诶以及怎么用啊,带着各位咱们过一下啊这个eh。
01:00
Cash呢,首先啊,是一种广泛使用的哎开源Java分布式的一个缓存啊,主要是通过什么呢?主要是通用的一个哎缓存啊,咱们的Java意义和轻量级的一个容器啊,这是啊呃,明白一下啊,咱们明确一下它是什么啊,这块呢,可以和大部分的Java项目无缝衔接啊,这就是它的一个什么特点,也就是为什么咱们要去使用它,比如说啊,像咱们的哎这个啊,像咱们的这个哎ho啊中使用的缓存就是哎这个eh cash啊咱们明确一下它是什么,哎,它可以支持啊,它这个功能还是比较强大的,咱们为什么要使用它呢?哎,这个咱们可以看到,哎,它可以支持内存和磁盘的一个存储啊,这个咱们默认是存储在内存当中,但如果内存不够的话,也可以把数据同步到磁盘当中,也相对比较灵活啊,哎这块哎,咱们也可以支持啊,支这个这基于咱们的,哎这个呃,Future的一个什么的,这个catch的实现啊,这块呢也支。
02:00
是g zip的压缩算法,所以说啊,哎虽然这个工具很小,但是呢,哎相对而言它的什么呢?功能还是比较强大的,哎比如说哎咱们的E啊,咱们的这个h cash呢,哎,它直接啊在咱们的GVM虚拟中啊GM呃,GVM虚拟机中啊这块哎可以做缓存啊,这个速度非常快啊,也相当的高效,然后呢,它缺点呢啊就是咱们的缓存共享比较麻烦啊,咱们集群分布式应用的哎使用可能不太方便啊,但这块呢,哎它主要偏什么呢?咱们的本地缓存啊,就可以用它来实现咱们相关的一些具体的功能,那还是根据实际的业务需要咱们进行选择就成,那这回呢,哎,咱们就拿这个,哎咱们的缓存工具整合到咱们工程当中去什么呢?看看啊,解决一下咱们的缓存的这个问题啊,带着各位咱们去整合一下,哎,感受一下好,那这块呢,呃,咱们先不着急整合啊,咱们先去什么呢?搭建一个DEMO例子,咱们感受一下啊这个诶这个E。
03:00
啊,它的一个使用啊,咱们搭建一个小弹幕例子,创建一个新的模块,就叫什么呢?诶咱们的eh test_test啊,创建这么一个test的一个模块,然后在这个模块里面,首先第一步不用多说,咱们先去添加依赖,你得把依赖添加上啊,参考咱们课件添加咱们的eh test啊这个相关的依赖选择版本呢,2.6.1啊,选择这个对应版本就可以添加相关依赖。好,依赖添加一下,然后之后啊,咱们需要什么呢?在咱们的资源目录下去添加一下咱们的什么呢?这个eh cash的相关的配置文件,咱们得把这个配置文件添加上,诶,它是XM的这种格式啊,哎,在咱们的资源目录下直接创建这个相关的文件流程,咱们去创建一下这个相关文件,添加一下相关配置,好那这块直接进到咱们的工程当中啊,打开相关的目录。C然目录下,哎,创建咱们的配置文件XL类型在这里面啊,咱们啊不需要自己写啊,咱们直接去添加一下就可以,诶添加一下咱们的相关的这个配置信息。
04:11
好,咱们可以看到它配置内容还是非常多的啊,可以看到,诶在这儿咱们可以什么呢?诶设置下磁盘的缓存的位置存在哪儿,然后呢,咱们的默认的缓存信息啊,在这儿设置一下,然后呢,还可以去添加这个多个缓存信息啊在这儿有相关的咱们课件上也好啊这块呢,诶在咱在咱对应的什么的这个工具的官网上也好,都有相关的配置说明,比如说缓存的最大数目啊啊,硬盘最大缓存个数啊啊这个相关的一些什么的,哎,这个比如说内存中存储的时间啊这些呃,相关的设置都有啊,就不带着各位咱们一一去过了啊这是明确一下,可以通过配置的这种方式啊去进行一个缓存设置好,咱们把这个什么呢?配置添加好了之后呢,咱们啊这个环境搭建差不多了,咱们写一个测试类感受一下啊,就是从缓存,缓存就是一个存储的一个空间嘛,哎,往缓存里面存数据,再取出数据啊,咱们感受一下好,那这块呢,进到咱们对应的测试模块当中啊对,进到相关目录下。
05:11
咱们去添加一个测试类啊,咱们测试一把看看啊,就是创建这么一个测试类,然后写个慢函数,咱们跑一跑感受一下啊在这儿啊,去创建这么一个测试类。哎,创建测试类那这块呢,哎,咱们在测试类里面创建咱们的main函数啊在里面,哎,咱们把这个相关的步骤,诶带着各位咱们去写写啊,感受一下它到底怎么使用它,哎,PSVM,然后呢,哎,这个慢函数里面,咱们按照步骤来,首先我是得先读取到咱们的什么的,哎这个相关的配置信息,创建咱们的哎这个哎对应的资源的流对象啊把这流对象先拿到手啊,这是第一步,然后呢,我我把这个步骤先捋一下啊,这是第一步,诶咱们先去什么呢?获取咱们的配置信息啊,咱们对应的什么呢?诶对应的流对象,然后第二步获取咱们的eh cash啊,它的缓存管理对象啊,我得先拿到这个缓存的管理对象,第二步这是在这啊,我直接复制了啊,获取咱们的eh cash了缓存的管理对象,先把这个对象拿到手,然后呢,哎,咱们下面什么的获取缓存对象啊,管理对象都有了,咱们,诶这个去创建咱们的什么的缓存对象去获取下。
06:25
哎,通过咱们的管理对象获取咱们的缓存对象,哎,把缓存对象拿到手以后呢,那就好办了啊,获取缓存对象之后,下面咱们创建缓存的什么呢?诶数据,把数据创建出来,然后呢,存入缓存啊就是按照这个步骤来就成了,其实就工具使用还是非常简单的,创建咱们的缓存对象啊,创建咱们的缓存的这个数据,然后呢,再把这个数据呢存入缓存。哎,存入到缓存当中,然后之后呢,哎,咱们验证一下,就从缓存里面再把这个对应的值取出来就成,哎,取出值咱们输出一下看看啊,这块呢就可以,哎,从咱们的缓存中取出数据输出。
07:18
哎,输出一下就成啊,这个非常简单啊,带着各位咱们去把这个方法实现一下,这块呢,哎,咱们就在这儿啊,去拿到咱们的对应的这个流对象啊,咱们的输入流啊,这块呢,直接通过咱们的读取配置文件就可以啊,咱们的input stream。Input stream,咱们去拿一下这个input对象啊,就叫简单点就input对象吧,哎,咱它等于什么呢?咱们直接就是啊,拿咱们的这个相关的啊,这测试类啊,咱们去调箱的方法,哎,用咱们的哎这class load啊,咱们去什么呢?进行一个获取啊,这块呢,直接啊咱们get一下啊咱们的class。
08:02
类加载器,然后呢,通过它啊,咱们去获取一下这个相关的资源信息啊,根据啊咱们的对应的文件名获取一下,也就是咱们所对应的创建好的那个配置文件啊在这。就是它在根据咱们的哎配置文件信息获取咱们的流对象啊,把这个流对象的信息咱们获取到啊这是啊咱们对应的什么呢?获取到这个相关对象input,然后之后呢,诶咱们再根据input,哎,再去获取到咱们的,诶这个对应的catch的一个什么呢?管理工具呃,缓存管理工具。好,缓存管理工具啊,咱们的呃,Catch manager啊,咱们获取到啊,直接什么的new一下流程,诶new一下咱们的catch managerger,然后呢,诶塞入咱们的这个input对象就好啊,这个创建好咱们管理工具啊,从管理工具里面咱们获取相关的缓存啊,把这缓存获取到,那就直接拿这个catch manager啊点咱们获取就成,点get一下,哎,咱们对应的缓存啊,获取相的缓存,咱们就拿这个咱们刚刚配的谁是不是hello hello word对吧?啊,咱们就用这个hello word缓存啊这个名称获取一下,它就可以拿到咱们的缓存对象,咱们就叫catch。
09:19
拿到我的缓存对象,然后之后做什么事儿,哎,咱们得创建啊,我这个缓存数据,然后呢,存到缓存里面,怎么存啊,这个先不着急创建缓存数据啊,咱们先看一下怎么存,第一下诶去put一下就成,哎,咱们可以看到哎,Put,哎这个相关的方法调用的什么呢?是不是咱们element对象对吧?哎,你去逆用一下element对象就好,哎,咱们put方法,哎,确认一下放的参数,什么element,那把这个对象串出来element,哎,同样选择咱们的eh catch啊这个相关的包下了,哎,Element对象咱们去创建出来,哎,直接呢,New一个就可以啊,New一个element。
10:00
好,咱们看一下相关的参数啊,哎,很熟悉什么是不是KV建制队就可以对吧,设置KV建队,当然还可以放别的复杂的这个信息啊,咱们就简单点name,然后呢,哎,这个对应的什么的key,然后呢,V呢就放咱们的张三就可以啊张三好,存入缓存相关的数据,然后呢,诶拿到这个element啊,这个先把这个存入数据的这个对象啊,缓存数据对象创建好,再存到咱们缓存当中,那之后呢,从缓存中再取出来就成了,也很简单,直接拿咱们缓存对象,哎再去点一下,哎,我get一下就成,哎,获取一下相关的信息,KV建制,对嘛,咱们根据key去获取name,哎,我去获取一下相关信息,拿到咱们的这个对应的对象,然后直接什么从里面取出咱们的值来进行一个输出就好,咱们输出一下相关信息就成,输出一下啊,咱们相关信息点,诶,SOTVB啊输出一下,那咱们来个标识吧,就是咱们。
11:01
缓存中,哎数据是什么啊,咱们输出下,哎,直接拿咱们的这个获取到的I get到的这个对象啊,Element一点一下啊,咱们去获取里面存的Y6值就可以啊把Y6值取出来,咱们来个输出就可以,很简单啊啊就通过几步,咱们去什么呢?哎,这可以往缓存里面存数据,可以什么呢?从缓存缓存当中取数据啊哎跑一下看看,直接跑一下咱们的慢函数。诶,可以看到,哎,缓存中的数据张三没毛病啊,咱们把数据取出来了啊,就存入数据,而且取出来了,这是咱们对应的缓存的一个简单的使用DEMO啊,咱们先去了解一下咱们的这个相关的缓存工具,那之后呢,咱们把它整合到啊,咱们的工程当中啊去呃,使用它。
我来说两句