00:00
就是刚才的问题呢,咱们发现啊,后端我们一直在排查,包括咱们不管是用swag通过这地址还是通过901,因为咱的请求是get请求,所以浏览器直接访问这些都没有错,证明咱们的后端接口,包括通过N这没有问题,那这问题就在前端,然后咱最终定位到问题是什么呢?这方法我确实写了,再在可T的中咱是没有调用了,你没有调用它肯定不执行了,那咱最终给他就调用一下啊,就是调用咱这个。查询热门课程和名师的这么一个方法,把这个调一下,我们写一个叫get hot teacher。这个是咱们这个写法啊,然后洗完之后,最后咱们把效果我们来试一下啊,包括这个都已经行起来了啊,然后咱们最终测试来到我们的首页面中,比如现在我一刷新。大家看啊,比如说我再刷新一下啊,现在我刷新各位看啊,数据应该做了显示啊,只是有些数据我是没那图片啊,应该图片有些没有啊,比如说咱给他加一个有图片的啊,这个是没有问题课程。
01:10
包括里边这课程啊,那我这么来做啊,我把课程先给他删一些,因为太多了啊,咱找一些有数据的,现在效果是对的,是可以做到有些数据啊,我应该是给他都删过了啊,课程就这些应该没有数据。那我来我看啊,给他。筛一下啊。就这些值啊,给他随便删几个,然后他有数据就可以啊。这么几个啊,然后后面的这些都给它删一下啊。就是咱后面加这个数据,让他咱看一个就是完整点的效果啊。很多删掉啊,然后看这些。呃,还有几个啊,再删几个。
02:01
现在啊,应该就可以了啊,那我们到页面中,比如现在我在刷新,咱看这个课程是不是可以了啊,只是用的就是这个图片,现在课程是八个热门课程在里边显示了,然后下面有这个名师,名师就是四个已经显示了,只说没有图片啊,咱还是给他弄几个图片放上去。让他有这个效果就可以了。那比如说啊,咱还是给他先。删几个,然后给它加上就可以啊。这几个还是给他先删掉。到这个位置啊。然后咱们再来看这几个,应该是有那个头像那个图片,现在我再一刷新。大家看啊,这个应该可以啊,上面是我们的八个热门课程,下面是四个讲师,所以咱们的前端部分最终就做到了啊,这是我们实现的,我们在线教育前台系统中首页面数据显示,包括班的显示,热门课程还有名师,这个完成了啊,所以咱们把这个各位能给他快速做到,这是我们说的我们今天的这个内容啊。
03:12
然后说完之后呢,咱们现在把这些数据都有了,然后咱看我们今天的下一个内容,就是最后这个内容。这个内容是什么呢?首先我先说一下我们目前的一个场景,或者说一个需求啊,什么需求呢,这里边啊,问各位一个问题啊,我希望各位给我一个回答。什么问题呢?问大家,你说一个网站里边啊,一个网站它的哪部分的访问量是最大的。这问题不知道各位是否能听懂啊,就是一个网站,就大家访问任何的网站,你说一个网站中哪部分的访问量应该是最大的?希望各位如果知道的同学给我一个回复,比如说我们在网上,咱去那种什么电商平台,包括什么地方,哪个地方访问量最大的。啊,我看啊,有同学给我回复了,希望其他同学能想到首页面访问量是不是最大,比如说我们到一个电商平台,咱是不是进入到的首页面,我去在线教育平台,现进入到是不是也是首页面,所以大家明确啊,首页面的访问量应该是最大的啊,这绝对是没有疑问的,所以说咱要觉得访问量大的问题有很多的方案,其中有一种比较典型的方案是什么呢?就是对首页数据做什么做缓存的处理。
04:29
缓存这个词不知各位是否听过啊,咱之前应该学过这个red,所以咱们下面可以做什么呢?就可以把咱们的首页数据放到这个red缓存中,而通过read缓存的目的是什么呢?能够提高我们这个查询的一个效率啊,这是我们要做的一个需求,因为在一个网站中,首页面访问量肯定是最大的,而访问量大咱怎么解决呢?一种比较典型的方案,对首页数据做缓存处理啊,这是一种比较典型的方式,而咱们缓存在里边,我们就用一个目前很流行一种方式叫做。
05:07
啊,就是red可能叫热门流行了,应该算是目前啊系统中一个标配的这么一个技术,基本上系统中都用到red啊,这个没有什么热门了,是一个很标配的一个技术,所以red作为缓存来用,它作为我们的使用。那这个啊,用之前咱们把red给各位还是先做个回顾,因为red呢是咱们在之前是学过的啊,但是毕竟应该过了一段时间,很多同学应该也忘记了里边的很多东西,所以各位做个简单的复习啊,然后咱用它实现我们的功能。这个啊,刚才那张图我先保存一下啊。是第九个。在那个首页啊,数据的这么一个显示。它这个前端的这一部分。这个啊,我们刚才说到的啊,然后咱们回过头来看这个red部分啊,把red首先给各位先做一个简单的一个回顾啊,关于这个。
06:08
那呢,咱之前学过red,它这个东西啊,有很多的特点啊,咱说比较主要的特点给大家写一下啊,首先第一个特点希望各位知道啊呢,咱一般经常提个词这个词。叫什么?叫做no circle啊,是一种no circle技术,但是no circle不是只有red,还有别的东西,比如说什么猫,DB都叫no circle,而red其中的一种,而用它有什么好处呢?其实咱说的简单点啊,就是red,它的存储结构更加灵活,更加简单,它有什么样一个特点呢?第一个它是基于一种方式,叫这种方式就是KY6的方式进行存储的。啊,这是第一个啊,这个你要知道,之前应该学过基于key value存储,另外第二个就是。大家看我这里边写到的啊,它这个读和写的速度都是特别高效的,比如你看里边读的速度是这么多,写速度虽然比这个小点,但是也是很可观的啊,这叫red,这是它的第二个东西,读写速度很可观。另外red它支持多种数据结构,比如说里边这种结构。
07:19
啊,给大家截过来哈,它就是支持多种结构,这几种结构或者说呢,就是这个问题啊,在很多面试中也经常问到你,别人可能问你啊,Red里边有哪些数据类型,或者哪些数据结构,指的就是这几个,这几个比较常见的,咱们看一下啊,有这个缀,缀理解为就是字符串,例子就是一个集合,然后还有一个叫哈希,哈希理解为啊,就类似一个麦。还有一个叫site,还有一个叫Z。这两各位要知道啊,这两什么意思呢?Set大家应该都知道是个集合,但是set集合是不是就是无序的例子是不是有序的?大有里边有个叫z set什么意思,就是一个有序的set集合,其实在set基础之上加上这么一个,就是一个标识,然后标志为有序的一个集合,这是里边支持的多种数据结构,就它支持类型很丰富。
08:13
啊,这个各位知道啊,然后第三个ready还有其他特点,比如里边支持一个叫持久化集群。就是这个叫持久化。第三个啊。叫做支持。持久化,那什么叫持久化呢?给大家强调啊,这里边应该之前提到过,我这里说一下啊,就是red呢,其实它本身数据是通过这个叫内存进行存储的,但是它的数据呢,也可以存到你的那个就是硬盘里边去啊,存到我们的硬盘里边去,也可以这么做到这个存到硬盘过程就叫持有化啊,咱这么理解啊,就叫持有化操作。比如说里边啊,有这么一个问题。各位要知道啊,给大家提一句啊,比如现在咱说red是基于内存存储的,肯定是要内存中存数据,而像内存数据的好处是什么呢?肯定是读取速度快,因为你存到硬盘中呢,还需要经过硬盘的IO等等操作,所以它效率要低很多,而通过内存没有这些操作,读取速度肯定会变快,但是呢,有这么一个特点啊,因为write中内存嘛,肯定不能是无限的,当你内存占满之后,Write中应该还可以寄存数据,因为它可以做到持有化操作。
09:29
啊,这个啊,大家知道这个特点啊,就是持久化,比如它也能存到硬盘中,另外还有一个概念啊,希望各位明确,咱们现在用的这个项目中数据库是不是叫my sol数据库,MYSO数据库是一个叫关系数据库。什么叫惯性数据库呢?就是里边存在,可以存你表与表边的关系,这叫惯性数据库。但是其实我们用的MYSO数据库,它本质上就是一个什么呢?就是一个文件系统,按照特定结构存入到文件中内容啊,这叫买so数据库本质上就是一个文件系统。
10:04
而red它是基于内存存储的,所以它的读取速度更快啊,这是第三个,各位知道啊,然后中还有一个特点,我这里写到了。他知什么过期时间,知这个叫事务执行相关的操作。什么叫过期时间呢?就是你像re中存的数据,你可以设置一个有效时间,假如我设置十分钟,超过十分钟这数据就失效了,就不能再得到这数据了,这叫过期时间,这样做是为了保证数据永远是最新的,另外他还知这个事务性操作啊,这是re的一些基本的特点。各位把它知道啊,而我们在这个在线教育项目中,但是用到ready这些最基本的使用,包括各位在后面的电商项目中,对会做进一步的使用啊,咱这里边用一部分,剩下一部分放到电商中,各位也会学到啊,也会用到啊,这是一个基本特点。
11:00
另外除了这些之外呢,还有一个特点。这里问一下各位啊。为什么呢?问大家就是你说RA里边它一般存储就是什么样的数据。比如说我们什么数据适合放到ready中?我希望各位把这给我回答一下,你说ready中啊,咱一般项里边放什么样的数据,是什么数据适合放到ready中。这各位不知道是否知道,如果知道的同学可以给我一个回复,RA中存什么数据?这个啊,给大家强调啊,各位也可以考虑一下啊,就是red呢,它一般来讲我们把它称为叫内存数据库,或者说叫做助于缓存使用的,这是它一个比较常见的用途,而RA里边呢,咱们并不是说什么数据都适合做缓存,也就是说并不是什么数据都适合放到外嘴中,有些数据是不适合往里面放的,这各位必须要明确啊,那我来说一下有什么特点。
12:02
给大家写这个位置啊,如果你不知道,给他记住啊,这是一个最典型的一个特点。那给大家强调啊,也就是说咱们一般来讲啊,但不是绝对的,一般来讲咱会把什么数据放到write中作为缓存了,咱一般会把一些就是。经常啊写一下啊,经常进行。查询。并且这数据呢,不经常修改的这些数据,一般咱会给它放到write里边作为这个缓存使用啊,这是它的一个特点,也就是说这些数据你要经常查,另外数据呢,还不会经常改,假如你数据频繁改动,咱不适合放里边做缓存,因为频繁改里面内容,一般来讲,把一些不经常修改数据放到里边,或者说你这里边就是一些不是特别重要的数据,都可以放到read中作为缓存。这是一个特点啊。
13:01
使用频繁没错,就经常查询嘛,但是你经常修改这数据不是往里面放,比如说什么意思呢?举个例子啊,假如说我们现在啊,在我们操作中,咱做一个系统叫做财务系统,财务系统中数据是不是跟钱相关的数据是不是很重要,另外你做这个转账什么出账数据是不是经常改呀,所以这种数据绝对不适合放到re中,肯定也不适合做缓存,咱钱的数据做缓存肯定会有问题啊,所以这个各位明确。咱们有一个用缓存的场景,不是什么数据都适合用缓存,但是咱们回到我们的现实修中来,咱们看啊,我们现在要做的是把首页数据是不是放在缓存中了,大家看首页数据什么特点啊,大家注意啊,第一个。首页数据访问量是不是最大呀,所有人进入项目先看是首页,然后第二就是你看啊,首页数据应该不会经常改吧,比如说第一个这个轮播图,轮播图呢,一般来讲会显示你的最新最热的课程,但是轮播图好像不可能每天都改一次,可能你的周期可能一个月或者一周算是比较快的这个改变,所以这个数据应该是不会经常修改。另外这个热门课程大要改的话,因为有一个频率,比如说每个月更新一次,或者说每半个月更新一次,这数据也是会不会经常修改,另外名师这数据可能更会改,可能这名师你找了几个比较著名的老师在里面,可能一直在网页中显示,所以这些数据呢,咱适合用red做缓存。
14:33
因为它是经常进行访问,另外还是一些不经常修改数据,这些数据适合放到咱的中。啊,所以大家把这个给他知道啊,就ready中一些基本的特点啊,当然肯定里边有更深入的描述,后面电商中会用到咱们项目中做一个最基本使用啊,另外咱之前在讲red中应该还学过,比如red搭建集群等等这些操作啊,这些。
15:00
建议各位啊,有时间也都去看一看啊,因为这些都属于一个面试中被经常会问到你的,比如搭集群中,别人问你,你搭过瑞集群嘛,咱肯定说我们搭过,那别人可能问啊,你搭集群过程中,你曾遇到过什么问题,或这问题怎么解决的,这种问题别人经常问到你。所以这些各位都给他抽时间去看一看啊,也是为了面试,但是其实在实际的公司里边,真正让你从零开始搭个集群,这种几率其实并不是很大,一般来讲在公司中啊,可能说之前有机群在里边,再加个机器或者说维护之间这个集群这种场景会很多啊,但是这过程各位必须给他掌握,把之前write中的内容给同学看一看啊,咱现在做了一个基本的回顾啊,关于write中这个特点。啊,单调做了一个说明啊。然后就是在很多的笔试中啊,经常会考到一道题目,就这个题目啊,我个人觉得意义不大,什么题目呢?但是很多时候会考到就这个题目,它会让你比较一个东西,说red和me cash什么区别,Ma cashche也是用于做缓存的,但是它跟red有些区别,这个各位给到大家看一看啊,如果在比如中考到你能给他写出来,面试中别人问到你,你可以直接说我没用过ma,我们用都是red,这么说没有错。
16:17
但是笔试中会考到啊,他们就是有一个区别,各位给他大概了解一下啊,我就不在这里读一遍了,你给他看一看,也是为了以后的笔试可能会考到这个题目,笔试中这题目很希望考这题目,但是面试中你可以说我没用过,我用red也没有错,因为在实际中这些技术咱不可能都用过,我只用其中的一两种,其实也足够了,VI比它更加强大,功能都可以解决。这个啊,咱说的一个关于ready的一个基本介绍啊,大家把我说这些给他都给他知道一下啊。
我来说两句