00:00
好,我们接下来往下看啊。来啊,缓存机制,什么是缓存来着。我这个给你们介绍过,我记得啊,缓存指的就是什么呢。内存中的数据,内存中的数据就叫做缓存,是这样吧,好,那么我们现在要做的是一个什么呢?好,我们马上。要做的是一种什么呢?服务器缓存的。机制啊,那么就相当于。要将什么呢?数据啊保存到什么呢?服务器的内存中,是这样吧,好在服务器啊这个啊开启的。
01:05
状态。啊,这么说啊,如果。服务器啊,处于这个开启状态,好,我们就。一直能够。从该缓存中。啊,取得数据OK吧,数据好这个缓存啊,我们有一个这个专业的叫法啊,啊就不叫什么什么缓冲,这个缓。缓存啊,这不叫缓冲啊,这叫缓存OK吧,好,这个缓存啊,它有一个专业的叫法啊,叫做什么呢?CA。OK吧,比如说我们有浏览器的这个缓存,也有服务器的缓存。OK吧,等等啊,我们现在要玩的啊是服务器的缓存,那大家现在可以思考这么一个问题啊,来看老师啊,来思考这么一个问题,我们现在要做的是不是把一些数据给它保存到这个服务器的这个内存当中要用啊对不对?
02:13
老师,我们为什么要保存服务器,保存到服务器当中,这个一会儿再解解析,OK吧,我们先想一想这个技术手段应该是什么,我们要将这个数据啊,就给它存到服务器上,服务器不灭。我这个数据就一直有服务器灭了。我们这里边儿的这个数据啊,缓存才会清空。什么,咱们是不是想到了所谓的那个全局作用域啊好,全作用域叫怎怎么怎么说叫做A这个东西叫做什么呢。啊,全局作用域啊,那将来还有一种非常非常普遍的讲法,叫做什么呢?上下文作用于OK吧,那以后老师说把这个啊数据保存到上下文与对象中,其实就是保存到了全局作用域中,对不对?好,我们要让什么呢?在这个服务器啊,这个啊启动。
03:13
阶段啊好,将这个数据啊给保存到咱们的这个啊。服务器服务器缓存中好服务器启动阶段。始终存在啊。数据始终存在。好,那这个东西咱们是选择使用它,它其实存数据就相当于set是吗。呃,除六是这样吧,好,这个是啊,咱们。将数据保存到服务器缓存中的手段是这样吗?好,然后从服务器缓存中取出。
04:07
数据,那就是啥了,点get a tree。啊。好。咱们来看啊,同学们啊,咱们来看,呃,也就是说啊,我们一会儿啊,要在application application作用域当中啊,保保存点这个数据啊。保存点儿数据,好存啥数据呢?我们现在来分析一个东西啊,叫做什么呢?叫做数据字典啊。数据字典。好,这个数据字典指的啥意思啊,咱们来看看啊,好,数据字典指的是啊。指的是啊,在这个我们的应用程序中做什么呀,做这个表单。
05:02
元素。啊,这个啊,选择内容用的相关的。数据啊,就叫数据字典,OK吧,什么叫表单元素啊,选择内容用的呢。什么是什么是作为表单元素选择内容用的这个组件。呃,下拉框是用用来做选择呢,还有什么。单选还有什么?复选框是这样吧,好,那大家注意啊,数据字典啊,好经常啊这么说吧,普遍被这个应用在咱们的这个啊下拉框中,OK吧啊,因为咱们这个下拉框中这个数据啊,这个很多很麻烦,是这样吧啊经常得来自于咱们数据库的表啊,OK吧,现在给大家举个例子,我先来个来个最最简单的例子啊,比如说我们来一个。
06:09
性别吗?性别这种东西肯定是选的吧,你想一想啊,未来在实际项目开发当中,都什么东西应该是让户用户选啊,能让用户选的就不让用户首天,这是不是一种体验呢?对不对?用户谁懒谁都懒得打字选多好啊,对不对?这其实是我们考虑的其中一方面因素,我们考虑最多的是什么呢?这个东西哎怕用户他瞎填,你看一个性别,那比如说啊,咱们填个城市,你想一想是不是好多人啊,有有好多种这个填法是这样吗?那比如说咱们填个城市,比如说填个沈阳。对吧,有填沈阳的,有填大沈阳的,对,有填沈阳市的。啊,还有天圣经的啊,填这填什么的都有能理解吧,所以说这个东西啊,我真正要在搜索啊,搜索这个城市的时候,是不是肯定有一些信息,咱们搜索不到,因为这个东西它乱填的,明明是沈阳,但是他乱填。
07:09
咱们就搜不到,能理解吧,所以说啊,这个工人去选择的不仅仅只是这个用户体验的提升,更重要的是为了约束他们什么样去填写我们这个表单中的这个内容,能理解吧啊去约束他们不能乱填啊,比如说咱们这个性别啊,很明显它是一个什么呢。性别应该是个单选吧。对吧,啊,比如说啊,咱们来一个男。来input的是不是?啊,Type等于什么来着,单选。对吧,好,那。咱们来个什么?对吧,好value呢,咱们来一个A吧。
08:03
来个来行吧。再来一个啊,再来一个。等于。然后咱们来一个什么呢。女。没错吧,好,那这俩东西咱咱们这俩内部是必须得相等啊,对不对,行,那比如说啊,这对于我们之前来讲的话,这些东西咱们是不是都是写死的。写死了这个坏处,最大的坏处是什么?不好维护对不对。你想一想啊,现在啊,他他他他第一点在哪呢?我们现在这个男和女啊,这个下拉框中啊,不是这个这个单选框中的这个男和女啊,工人们去选择,在整张系统中有20处的这个表单应用到这个男和女。我假设行吗?假设20处,这20处男和女,大家现在思考这么一个问题。如果这个用户啊,要维护这个男和女,那男和女有啥维护的,人家就觉得啥,这个男和女啊,就觉得挺简单,我想换换内容,我们叫这个男性和女性吧。
09:11
那客户就是这样啊,哎,将来客户就是这样,我提前带大家感受感受啊,改成男性和女性吧。那那你你管人家啥意思,人家提出这个需求了,你改不改。改不得改啊,男性什么呢?女性也有同学可能认为会会说什么呢?给钱就改是吧,就这种小需求,它不是说我们需求的扩充,咱们也不是扩充一个模块,就这种东西啊,都是在我们维护范围之内的,这些东西其实不是不应该收钱的,OK吗?好,都是属于一种非常合理的这个范畴,诶,但是大家想一想,这改男性和女性得改多少出啊。20处这20张JSP你找吧。对吧,啊得你得找啊,所以说呢,我们是不是把它写活比较好啊,再有一个是什么呢?20数那老师那改那咱就改呗,嗯,咱们改了我看啊得改多长时间啊。
10:16
半个小时20分钟吧,对吧,这找的比较比较比较顺利的话,可能这个十分钟以里就搞定了,对不对,但是一个项目整个一个项目啊,整个一个项目啊,这里边这个内内容可多了,你得找对不对,好比如说啊,咱改了十分钟,其实啊改的这个时间咱不算这个无所谓,OK吧,最重要的是什么呢?有可能这个项目啊是什么呢?是你跟客户啊,给客户都做完两年了,我们有可能跟客户都已经找开,断开这个外网的这个联系了,能理解吧,完完全全有可能是客户给你打电话拍脑门做出的这个决定,OK吧,那我们现在要做的是什么呢?是不是得把握这20张接SP得拷到这个U盘当中,我得坐三个小时地铁赶到客户那去。
11:01
到人家机房那替换20张GSP。然后我再坐三个小时地铁再回来。其实我们是能连到客户的,但是我指的是万一连不上呢,万一是两年前的这个项目呢?能理解吧。啊,那人就想改了。很正常,哎,你想一想这一天这个功夫咱们是不是白搭了,那这个地铁加上这个你等这个580的时间是吗?得多长时间呢,对吧,好。那么其实一天还好。啊,客户是带着满满的恶意来了。第二天呢?改成男,哎,男生和女生吧。第三天呢,男人和女人吧,第四天呢,男孩和女孩吧,第五天呢男和女吧,第六天呢,还是还是男和女的,哎改回去,哎很正常,以后客户就是这样的,能理解吧啊以后客户就是这样的啊哎有同学想的可好了,哎呀,我一天就是我每天就当坐地铁玩的,不用搁办公室干活呢啊这其实这是这是你们的想法,那将来很多企业里边都是根据什么呢?根据每一周的这个任务量,周一给你留完这个任务,任务之后啊,你这一周啊啊干不完,你自己,你自己是不是不好意思,你说得加班啊。
12:24
能理解吧,啊,所以说你这一下耽误几天呢,你得你得加多少班,你白天你你早上干完,你晚上不得干吗?那我我抛开那些个这个老程序啊,那些有一些老程序员都是啥啊,有可能啊,我周一留的任务,就我见过最强的啊,最强最强的是周一早晨留的任务啊。礼拜二说中午就做完了,就写完了,就剩下的天,有些公司老讲究了,就剩下天呀,我是不是还得给他安排点活啊,我得给他开工资的,不能让他闲着。有些公司特别讲究,现在讲究的公司越来越多,剩下三天你你爱干啥干啥,你正常来上班,上班打卡去,我不管你现在好多公司都这么玩儿,但前提是你能做完。
13:08
能力小,想着跑题了,来啊,回来回来回来回来回来啊,好,也就是说大家注意啊,哎,我们会想到第二个问题是什么呢?哎,如果这么小个东西,客户要是能自己维护就好了,是这样吗?好,那比如说啊,我现在举一个很简单的这个这个例子啊,我们现在是不是进入到这个字典,这个字典字典值这个列表当中了,对不对?好,那大家注意啊,我们现在列的这个什么呢?单选框啊,其实都是我取自数据字典值当中的文本男和女,说白了我现在是不是应该给它改成这个变量啊,比如说这个变量叫三一,然后女性叫什么呢。这个二它是变量,能理解吧,那解决的第一个问题是我们那20处引的全是变量,是这样吧,全是变量,你是不是到时候在数据库表中一维护,你是不是改成这个男和女是不是就行了。
14:05
能理解吧,如果你男性女性,你是不是直接在这里边改就行了。那如果这个东西要客户能操作的话,那就爽了,可以给客户有些情况下啊,其实这种这个系统设置这一部分不应该给客户放权限,但是啊,咱们实在没招的情况下啊,为了图方便也可以给客户放开一些权限,你客户不是想改男人女人男性女性男生女生吗?我把这个权限给你放开,你能看到咱数学字典你随便改,你难不改成哪吗?调个勾怎么办,同学们。点编辑改成什么?男人点击一个更新,点完之后,咱们是不是用的都是啥呀,变量啊,那二次数是不是正常就改了,你想改啥改啥,所以说啊,对于将来我们对于表单元素中供我们选择的这些个数据啊,我们肯定啊都是写活的,都是来自于数据库表中的这个数据,而不是在页面中写死的,OK吗?啊,这是必须的啊,那么这种数据啊,我们称之为叫做系统中的这个数据点OK吧,好再比如啊,给大家再举两个例子啊,比如说我刚才看到是一个这个男和女对不对。
15:11
好,我再给他写上啊,和你。那大家举举例子吧,还有什么性别城市呢?城市,我现在给你来个下拉框行吗?好。Option。省市联动都做过了是吧?Option。啊,比如说啊,北京还有一个什么呢。上海是这样吗?那接下来咱们就这个点点点了。OK吧啊,那也就是说啊,我们以前可能北京上海啊,都是在页面中写死了,现在咱们就从数据库表中拿就行了,以前省市联动都做过了,对不对?好,那么我们再来一个啊,比如说我再来个复选框吧,嗯。
16:06
大家想一想,还有什么部门,选择部门可以吧?好啊,这我给你转过来啊。部门,比如说我们来一个叫市场部。啊,还有什么销售部。嗯,再来个什么,这俩部门是最基础的俩部门啊,每个公司都得有的,对不对。啊,咱们再来一个研发部啊,这个研发部不一定每个公司都有啊。研发部是这样吧,好,那么大家现在看一看啊,我们这个性别城市部门,我现在列出了一个这个。单选框两个什么呢?下拉框是这样吗?好,那么对于给用户看的文本,大家注意是不是这个男和女这些中文的文本是北京上海这些文本呢。
17:10
市场部销售部是用户在使用我们这个下拉框的时候,用眼睛去看得到的,对不对,但是我们。但是我们呢,我们操作的是这里边儿这些个文本呢,我们操作的是不是这个A和B啊,对不对,好,那对于这个城市而言呢,它应该是什么。哎,咱们写的应该是这个value对不对,比如说咱们一代表北京。什么二代表上海能理解吧,好,或者是咱们这个市场部来一个value。A。来一个。Value b。好,再来一个Y6C,这个你得摸得清啊C好,那么也就是说啊,真正的咱们这个值啊,值是我们程序员用的。
18:03
啊,那么文本呢,是谁用的呢?啊是用户用的,是这样吗?老师我可不可以这样来做难。然后这个来个女的,这样可以吗?可以吗?其实以前不推荐,因为以前啊,这个对于我们这个中文啊,这个在开发中对于中文的这个知识性很差,OK吧,其实在咱们操作的时候都是什么呢?除了用来显示,用来展现的文本,我们其实在操作这个程序流程的时候,都是尽量的避免开这个中文,OK吧,好,但是现在无所谓了啊,现在这个开发环境对于这个中文的知识非常的友好,OK吧,所以说呢,我们其实是完完全全可以干嘛的呢。是可以用这个中文,也就是说你文本叫啥,咱们这个值也叫啥,完完全全可以OK吧,啊其实没问题,但是呢,我们现在啊,这个普遍很多公司还是走我们之前那个路线,AB人家用的这个舒服能理解吧,好啊,哪种情况啊都可以啊好,哪种情况都可以好,那么我们现在来看一看啊,来看一看啊,我们这个表啊。
19:14
对于数据字典呢,老师提供了这个两张表啊,一张表叫做字典类型表,一张表叫做字典值表,OK吧,好一种类型呢,对应多个值,OK吧,好,我们来看。对于数据字典啊,字典好,我们提供了。两张表啊。好,分别是TBL。Tap啊,四点类型表OK吧,再有一个TBL这。
20:06
Value字典值的这张表OK吧,好,我们一种类型啊,这个啊对应。多个值,一个值呢,只能。好,从属于。一种这个类型OK吧,好,我们观察一下如下的这个案例啊。下树。案例啊好,分析出好谁是类型谁是。这个值。来看看,首先咱们看看性别,男和女,谁是类型显示纸。
21:00
性别是类型是这样吗?男女是不是直啊?看到没一种类型对应多个值,那下边呢,城市是类型对不对啊,北京和上海是指是这样吗?但其实严格意义上来讲,是不是咱们操作的这个一和二是值啊。对吧,部门是类型,市场部,销售部,研发部是职OK吧?好,我们应该在哪张表中建立起一个外线,外线是什么呢?是不是它是多呀,它里边肯定有一个这个外键,这个外键是什么呢?PA表的主键是这样吗?好,我们现在来观察一下啊。咱们表中这个数据啊,首先咱们来看一看这个tap啊。首先来看这个type,这个code,同学们啊,跟我们之前所设计的都不一样,我们最早用的是那个自增。这个ID的形式整形对不对,后期咱们又学了一个32位的那个UID是吧?好,你看这种code的我貌似从来没见过。
22:09
这个这个扣的叫做什么呢?字典类型的编码OK吧,我们这个字典类型的这个编码既然是不能重复的,我们就干脆把它变成我们这个IDOK吧,好,那这样的这个案例啊,其实在实际项目开发中有很多啊,也就是说啊。通常我们会觉得这个ID它是没有实际意义的,它就是作为我们整条记录的这个唯一标识,OK吧,其实以后在实际项目开发当中呢,我们也会经常使用带有意义的字段。来当我们的主见,但是前提是什么呢?它必须是非空的,而且是唯一的。能理解吧,比如。想想。比如说你跟淘宝,你今天买个东西啊,你跟淘宝商城的一个订单订单对不对,你想想淘宝从那个你买的一个东西,那个订单,那个订单号,大家想想这个订单号它是不是有实际意义呢?我们可不可以把拿这个订单号当做这张表的组件,可以吗?
23:15
可以吧,完全可以啊,它肯定是非空的,这是必填的,而且它是肯定是唯一的,是这样吗?OK吧,例如我们来一个一张这个公民表,这个公民表里边啊,咱们把这个身份证,身份证号给它输入进去了,能理解吧,我们可以可不可以把这个身份证号给它当做组件呢?肯定是不能拿人名当主见了,这是不可能的了。全国叫什么那叫什么什么什么什么什么什么李军啊王辉的都上百万人了,是这样吗?好,所以说啊,咱们用身份证号作为主件完全可以是这样吗?诶你看它是有意义的才可以做主件,OK吧啊,以后会遇到啊,那么大家注意啊,作为字典类型编码来讲的话啊,比如说咱们来一个什么呢啊sex。
24:04
啊,不是咱们现在叫什么来着,称呼吧,啊这个叫叫叫叫叫叫。哎,那个那个性别叫什么来着,那叫gender对不对啊,Gender啊,比如说gender咱们来个那叫什么呢?性别能理解吧,你看这个gender啊,它是有意义的,OK吧,比如说老师给列出来的这个例子啊,比如说这个字典类型啊,这里边咱们录的这个最初始的数据是这个。Thanks OK吧啊,其实它叫娟OK吧好,它就是咱们这个字典类型编码,它是有意义的,OK吧好,那么呃,还有什么呢?那咱们字典类型的这个名称啊,最后description是对于这个字典类型的描述,OK吧好,我们再来看一看。这个值呢,这个值里边咱们看看都有哪些字段啊,ID很明显是什么。是不是UUID啊?Value和text这俩东西什么鬼?Value表示的是这条记录的值,Text表示的是这条记录的文本,谁是Y6,谁是text。
25:09
A是什么?Value,它是什么?Text OK吧,只不过呢,咱们现在这个写的这个方便一点啊,让value和text这个保持一致了,OK吧,Order number什么意思?排序号。你在做选择的时候,咱们总不能是乱序的吧,如果他不填咱们就是乱序的可以,但是有很多个供你选择的信息,是不是它应该都是带顺序的。没错吧,比如说你选城市,你是不是应该old number把北京设置成几啊?一呀,能理解我意思吧?好。那最后一个Type Code就就剩个啥了。这张表是不是应该有一个外键呢?那这个外键是不是对应的就是谁啊,靠的这个主键是这样吗。
26:07
比如说我们看看能看得懂的啊这个。称呼我啊。大家注意,这个东西可不叫application啊。这东西叫它代表的是称呼的意思,OK吧,然咱们来看看啊,称呼相关的都有哪些呢?找一找教授啊。还有什么博士,你们找的是这个value吗?咱们找的可是谁呀?Type Code吧,叫对不对,还有什么?先生。差不多了吧。我怎么觉得差不多了呢,啊,还有个女士是吧,好,也就是说咱们这个下拉框啊,下拉框好,咱们是不是就查这个Type Code等于A的就行了。
27:03
没错吧,好。行了,这点东西啊,咱们也分析完了,同学们。好,那接下来啊,我们就要这个结合什么呢。啊,这个将这个咱们这个服务器缓存。和这个啊,数据字典啊,给它这个结合起来啊,结合起来,那大家现在来思考这么一个问题啊,我们现在使用这个数据字典呢。我们以后做的这个下拉框是不是肯定都是活的了,对不对,注意看了啊。
我来说两句