00:00
好,各位同学,我们继续,那么目前我们的故障现象,就是因为我们存进去的key产生了这么一些有点类似于奇奇怪怪的一些符号,我们真真正正的key,我们是不是只是order这个前缀对吧?我们在这按照的规范前缀order冒号,具体的一个订单ID,那么接下来如何给他演示?改变符合我们的要求呢,那么第二个导致原因是什么?为什么会变成这么一个奇奇怪怪的现象,第三一个解决方案那么好,下面呢,我们呢先来解决,然后我们再说其他来这个呢,我们会看到这是我们的一个序列化问题啊,JK和值value都是通过spring提供的序列化。干到我们的数据库的red template默认用的是GDK系列化这么一个动作,那么另外一个叫string template默认使用的是string ready序列化这么一个动作。所以T,如果你用默认的ready plate没有进行过指定的话,会干成这样啊?与我们而言,也许程序是对的,但是呢,进行key的检查维护,极度恶心,我相信谁也不愿意自己的key是长成这么奇奇怪怪的东西吧,所以我们需要用red。
01:22
String类的red序列化工具类,OK,所以呢,这个是我们解决问题的关键,那么它呢,有两种方案,第一个,那么同学们我们来看一下我们的程序,之前我是不是让大家看过一个源码,我说了这个叫public class ready,那么大家请看它底层是不是有一个子类,对吧,叫string red temp OK,好,它。你有一个构造方法的时候,填了这么一些东西,那么就是set key value哈sh key哈sh value,诶你看RA点二是吧,Red序列化的话全部是什么类型,我们点开这是个什么东东,是个接口,OK,好,那么这个接口它就告诉你,我们这指定string的全部用string,那么好,我们接下来第一种解决方法来,同学们回到我们的程序,我们不妨呢。
02:22
把它呢,先注掉,然后搁到这,全部用我们的string right temp,好,那如果说用我们的red temp的话,那么这个强制类型转换就没有必要了。好,同学们老也啊,我在这儿也什么都没有改,我们的red config里面,肚子里面也空空如也,OK,好,那么它返回我们的一个string,然后回到我们的CTRL了啊,那么在这的话呢,我们干脆L啊,也给他同步,那么前台也给他返回,好,那么同学们其他没变。
03:06
我们就从red temp变成了它的子类string red temp刚才看了一下源码,它底层的red theory lie这个序列化工具类也产生一些变化,那么不再用red,用string ready,那么来看看我们的程序会有什么样的改观和不同,好,那么同学们,我们呢,重启一下啊,好,那么现在呢?全部重新启动回到这,我们的K星刚刚查出来的,那么ORDER363来回到我们这。同学们,我们呢?打开后台跑一下我们的苏大哥。OK,来这个时候200成功,那么底子再告诉你,现在的我是290,那么尾号是京东订单21113个一,好,那么下面kiss星来同学们请看ORDER290怎么样,和刚才的ORDER363是不是完全明显的有显示上的改观?
04:09
没问题吧,那么下面接下来同学们这个K。它的名称有点类似于。不再有这样的乱码了,对吧,不再是这样的序列化乱糟糟的,那么下面值如何呢?郭2901回车,哎呀。21111,那我只解决了一个问题啊,前面这堆序列话倒是对,但是前面这个是什么东东,那么根据我们的程序,我们大家都清楚写的是什么京东订单,那杨哥,对不起,请你把这四个字给我显示出来,好,那后台是这样,那不妨我们用四阿哥里面调一下呢,此时我们目前的值是多少?290好,290好了,同学们一直行。京东订单这个没问题吧,好,我们在浏览器里面再看一下京东订单这个没问题吧,那说明什么?它这个序列化的这个乱码,实质而言仅仅是在re客户端这样来查看是不支持的,我们的斯袜哥是好的,OK,京东订单我们的浏览器同学们请看一眼,是不是也是好的,那现在杨哥我就想在red里面也是好的,怎么办呢?你们听好,但凡你连接red,只要有中文的话,来第一个指定密码,第二个指定端口,第三一个比如说我们要有中文,就raw这什么通道,代表对客客户端对中文的支持,那么此时同学们请看get order,那么这个时候我们的这个order是多少啊?290290同学们一回车如何?是不是京东订单打完收工一套带走啊?哎,所以说呢,我们的第一种解决方案。
05:54
我们呢,就会明白了,按照我们这所提示的,你必须要用string redl默认使用的这个stringizer这样的串类的red序列化器才能够给你解决好,这是我们搞定这个问题的第一种方案,那么第二种方案呢,那么搁到这儿。
06:16
我不管,杨哥,我就想用write PLA,哎,我不一定每次都是string类型,许我有其他类型呢?那么来吧,暂时将其注掉,那我们呢,又恢复我们原来的程序ready temp,然后搁到这,我们同学们请看是不是我们的red temp又回到原来的乱码的程序了吧,对不对?那么string这个我们没用了,我们还是回到原来。最默认的,那么自然而然我们也晓得了它默认的这个,那么下面我们来看看它的源码,它为什么会这样,Red complete,它账也自带这个izer的系列化工具器。
07:00
这有个叫default the,这么说能跟上好,那么同学们三三元吗?他这有个default,然后请看这个下面,它这有个stringizer,人家指定的是red sizer string,但是它这是个default,我们继续往下看源码来。对照着我们的脑图笔记,我们会发现原来他这个default serializer在这块的话,它的design用的是JDK序列化方式,它默认它惹的祸,那么来搁到这了,以后同学们请看,当我用构造方法,因为spring在容器注入的时候,肯定是会调用这个默认的啊,无差的构造方法啊,这个构造器就不说了。那么。在这个里面默认它是用哪一个,他说如果你的default这个是等于烂的话,它会new这么一个JDK这么一个动作,那么自然而然,所以就会导致我们一切又默认的话不爽,我们呢就会出现了之前碰上过的这种非常恶心的序列化的乱码现象,所以同学们请看到到这啊,我们大家都清楚red是构造,对于spring它那个。
08:12
最后一步,大家都清楚after properties讲set这个我们在讲什么词,Spring的循环依赖和什么框架,底层都说过啊,这个是个什么,不再解释了,那么大家请看这个是不是个难,那么一开始这是不是个烂,啥也没指定啊,如果是烂的话,就给你拗了这么一个动作,它就导致了我们有这样恶心的东西出现,那么好杀个回马枪,了解了原因以后,那么自然而然能识别就能能实招就能破招,那么所以说找到我们的red conflict就跟我们的string那个一样,对吧,这是red,由于你的red默认的red话,你这有个at,你是默认是个nu,那么自然而然我是不是要提前给你指定,那么来各位亲这哥哥的。
09:00
子类是不是叫string red,人家说是提前指定,那无非就是在我们的自己写的一个配置类里面,把这一坨搬过去,让string覆盖掉,Right temp的跟string类型一样,指定这个deft,那是不是可以解决我们这个乱码问题了?所以我们的思路理清了以后,程序编写如下来,同学们,搞到这儿,我们需要完成一个write。Temp conflict这么一个配置,这直接粘贴来,同学们请看这个不解释spring的说人话就这么干,Ready这句话的工具配置类,这个呢,请一定开启,你视化成功过用string类型的那个就这样,如果野生的,那么就是这样的一个乱码,OK,来这呢就是。List set哈,Set OK,你后面操作五大常用作意类型就这个,那么来吧,请看它的构造方法,我们前面也已经说过了。第一个它的构造方法有一个空的,那么自然而然是不是也有其他的,那么也有其他的,以后我们呢,顺着他的思路来,我们就注定一个latest connection factory,那么这个工厂啥意思啊,我是不是就把这些配置我们在application property里面。
10:17
讲解和强调过的这些配置啊。一股脑的是不是给他注进去了,哎,他就知道你连的是red哪个库,哪一些配置啊,密码呀这些。注射进去,然后完了以后,他这干的来是个连接工程,更具体一点的是个以生菜,哎,这个是性能更好的一个,对吧?来我们干了这么一个ready的new的这么一个对象,那么来告诉你的工厂类传过来的好设置kid,那么来这个时候是new string redizer OK,那么既然使用这个替换成GDK,默认序列化这个最后返回我们的,那么呢,就保证它达到了跟我们的string red一样的效果,OK,好,那么加载完这个类以后,那同学们程序呢?
11:05
又回到了我们之前讲解的order service这些东西啊,我们来看一眼,现在red已经赋能了新的动作,我们来看看实际效果能不能达到跟string red一样OK的效果,好,同学们等它启动啊,这个单机呢,可能快一些,好,那么启动完成后台再废话,那下面回到我们的四瓦哥老规矩,先增加一个,那么后台ID是多少?477,好了,那么同学们。不废话,那么退出直接密码端口,客户端中文支持,全部一套拿下,那么get o4771回车同学们怎么样?此时不再是乱码了吧?那么大家看363以前的乱码是这样的,那么O档477各位亲没有任何问题了吧?OK,哎,以前你不是一大串长串吗?不是类似于像这样的。
12:07
东西吗?怎么现在变性了,注意以前没有加这个杠杠raw,这个是支持中文的,所以说呢,他就把前面一缩,他知道听懂了吧,所以呢,都是一样的,一个乱码显示,两种都看看啊,小白呢,第一次接触的话可能会慌,你去公司里面这些问题是不能问老员工的,否则代表没有工作经验,这些开发中的细节的坑,你要去问人家就知道你肯定没有用过微服务Java去调ready,所以呢,杨哥不慎不厌其烦的给你详细的说清楚,所有的坑,包括导致原因,故障现象,解决方案都给你提供一整套完整的OK,好,那么同学们,所以呢,在这块我们的。单机版的这个动作全部给你搞定,明白你要吗?你呢,就要用red temp,就要加这个配置,指定一个虚列化器,要么你直接用string red temp,那么看你的需求,OK,好,那么接下来那么同学们,那么red temp.op operation操作,对于string list,哈希set集群,Golo string等等,还有包括后面的其他的什么那个什么be特呀,OK对吧,那么比如说。
13:18
value.set bit,那么也就是我们bit map类似这样的操作,它这都给你封装好了,所以呢,我们来讲核心关键的让大家明白这些can,最重要的是让大家体会write temp,它和我们解letter几乎是一样的,也是相应的API操作。那么回到我们这儿,我把重要的看给大家讲完了,各位亲,恳请各位一定自己多动多动手练习家庭作业,练练些其他类的好吧,好,感谢各位同学的聆听。对于red PLA连接单机版我们就讲到这,接下来上集群。
我来说两句