00:00
好,前面呢,我们就搭建测试好了red环境,那么接下来呢,我们就来整合red来作为缓存,那么安装好了,接下来我们要整合的啊步骤,那么我们需要引入咱们这个ready的。Starter。这个starter呢,我们直接去官方文档来搜索就行了,Spring boot,哎,我来找到spring boot,我们1512版本,我们在这里边呢,我们来找到他们所有的start,来跟red有关的这一块呢,有一个starts好,来在这看red呢就是跟数据访问的,数据访问这块呢,有非常多的啊,Start这呢有一个spring start data好我们就用它,那么我们来先引入这个长景启动器,好,那在这呢,我们来引入dependency。Dependency,我们来写上dependency,好,我们啊,这个start,我们把前面这个也复制来。
01:06
好,Start data red把它引入进来以后呢,那我们red相应的场景就启动起来了,而它引入了哪些呢?点进来也可以看一下,这一块呢,主要哎,把我们引入了这个J这个客户端进行操作,好接下来呢,我们就来配置好red,再来测试一下,先用spring boot如何操作好下来呢,我们是第三配置,这个配置呢,啊非常简单,我们来到配置文件里边,那么呢,只需要指定上一个叫red点,诶这有一个点host,指定下red的主机地址,这个主机地址呢,就是我们刚装了这个linuxx主机,1182444169118.24.44.169,好,就是这个地址,那么我们就来到这个测试类里边,好,我们来测这个,测之前呢,我们先来说一个简单的原理,什么原理呢?当我们影。
02:07
入了这个场景以后,那么我们这个auto configuration就起作用了,那么由于我们引入了相当于有了J这个相关的类,我们包括有了这个J,我们这个red的自动配置就取消了,这个自动配置呢,做了什么?我们来往下看,除过呢给我们配置一些连接工厂外,等等等等,它呢给我们配了有两个东西啊,往下翻,一直往下翻,好an b给容器中加组项,加了一个什么呢?叫red table object object,还有一个叫string table相当于呢,它加了两个叫red complete的东西,它呢就是用来操作red,就跟大家以前学的j dbc complete一样来操作数据库的,这就是我们spring用来简化操作red的两个templ,好那把。
03:07
把这两个呢来复制过来,如果要用,我们只需要自动注入就行了,把它这个复制来,String red table at autowa,还有呢,有一个我们就直接叫tablet。好,那就叫red tabletwaar比说为什么会有两个呢?哎,我们能看到这string red跟它放的这个,哎,我们来看一下它的这个自动配置,这个呢是键跟值两个代表键值,键值呢都是对象的,而由于我们经常跟red连接,操作字符串比较多,所以说呢,专门单独抽取出了一个来简化操作字符串的啊,那么这个呢,就是操作字符串,然后呢,这个是KV啊,都是对象的。
04:05
好,这个呢是KV操作KV。都是字符串的啊,那么呢,我们就来用它来做两个简单测试。Public。来写一个word来TEST0一来测什么呢?我们就来测在red里边来常用的一些操作,那red里边呢,首先我们基本操作的几种数据类型,一个是叫字符串,就跟我们刚才在命令行那些操作一样,还有呢,我们操过过一个list啊,这个呢就是我们这个列表,包括呢,我们还操作过一个叫set,是集合,包括呢我们这个里边还有一个常见的数据类型,这叫哈希,这是一个散列。
05:00
包括呢,还有一个叫,哎,这是有序几何。有序几何,然后呢,这是我们这个red常见的五大数据类型,那么呢,我们这些tablet都能操作,怎么操作呢?我们用一个,我们先用string来演示,这呢有一个方法叫options op,好,Option你看啊,这有个options for。For,这有一个value,这就是呢,我们用来操作字符串的。好,我呢在这儿来写一下options来简化操作字符串,那么同样的呢,String还有一个options for,诶你看这个哈西,那这就是操作我们这个哈希的,当然还有我们这个options for,我们按顺序来有个list,好,这是来操作列表的。
06:07
这是来操作列表类型数据的,包括呢,还有咱们这个。Options for,我们这儿有一个叫set啊,这是来操作集合的。那其他的呢,我都不用点了,其实都是一样,那猜都猜出来了,那肯定就有string啊,有options for哈西,哎在这儿,或者for this set在这儿,所以呢,它会有对应的这几个啊,我呢就把这些我们都复制来吧,好,Options for,我们这个叫哈希,它是来操作哈希的。包括options for set啊,它是来操作这些有序合的,好,那么这是string,而这个L其实跟stringl一模一样,他们都有这些操作,Options for什么来操作一些我们常用的这些数据,只不过呢,我们它跟它的不同,我们之前说过这是KV都是对象的,而这个KV是子符串,好我们就呢,用常用的string来做一个例子,来点一个,我们就options for,我们就来for value来操作字符串,操作字符串呢,我们怎么操作,你看这有openend,相当于呢,其实就是我们这个red命令里边,哎,只要有的这些命令你在这呢,基本都能给我们点出来。
07:42
比如我们就来测试我们刚才的这最加命令,好来第openend,好来给一个K上,比如呢,我们K就叫message,这message的值呢就叫hello,刚才呢,我们把这个red数据库,哎,我刚清空了,什么都没有,那现在呢,相当于我们给咱们这个red中保存了一个数据。
08:04
保存数据好,那么呢,我们来运行,让它运行。好,我发现这一块呢,运行成功,我们在这来看一下,哎,我们发现red里边呢,Message hello也已经有了,那我们也可以在这来改一下,我再来改一个hello里,我再来追加一个word,嗯,下边呢,这有一个save,哎,这有一个保存来保存一下我那我想把这个数据呢,我读出来,把这个除掉,读出来怎么读呢?那string.options for value点来我们这是操作字符串的来那读呢,我们就写来写一个get,而这个get呢,我们就来写上message,好,我们要按照这个K来读数据,好把这个返回的数据呢,我们来给它。接收来,你打印到通知台,那看一下这个数据是不是我们red里边存的这个hello word走好发现呢,这块打印的是hello word,好没问题,那么这是我们测试了这个呃,字符串,那把我们之前的这些操作呢,我们都可以来测一下,我们之前呢,在里边测了列表什么的,那我也可以string term options for list,我来操作列表,然后呢,给列表,我们l push给边里边我们来放东西,这叫left push,好那么这个给这个K呢,我们就叫啊嗯,我们就叫my list吧,好来放上一个值,我们叫一好来放了一个,那我们再多放几个,由于它这个值呢,这必须呢,我们来看一下啊,这个l push呢,我们说这个得是string。
09:55
我们都操作的是string,所以说呢,我们就把这个string在这儿写好,好我来放一个一,那我来多放几个string,好,Options for list.left push,还是给my list里边放一个二。
10:14
好,然后呢,我们来运行。好,我们来测试一下,把这呢刷新那list里边,哎,有页没问题,那同样的你要获取数据我们也可以,哎,Left pop之类的,那这个呢,我就不用测了,所有的东西呢都一样,只要命令行这有的,你在这呢,基本都能点出命令来进行测试,而我呢,测试一个什么呢?来测试保存对象,给red里边主要呢在这来测试测试保存对象,这保存对象操作呢,我们就不用string里啊,我们就用第options for value,好,那么我们就不用end了,End这是追加字符串的,我们用下边,哎,这有一个set,给某一个K设置一个值,好,这个K呢,假设我们就叫EP,哎,零一,哎,这个一号员工它的值是什么呢?好,我们来用我们之前的。
11:20
Employee member,好,就这样拿它查出的这个一号员工,我们把它设置进去,好,我来运行这个方法,我们来看是什么效果来运行。其中呢,我们发现有报错,而这个错误说的是什么呢?说默认的这个序列化需要一个可序列化的这个类,但是呢,我们这个employee这个类是不能序列化的,好,那我呢,就先把它来序列化一下Siri好,然后呢我再来运行,最后我们再来说原因好来运行。好,我们现在呢,发现这个运行完成,我们在这一块呢,我们来查一下reload来我们发现呢,这有数据,只不过有数据大家来看啊,我这个EMPLOYEE01,这前面这一大堆是什么呢?包括这些值是什么呢?这其实都是我们序列化的结果,也就是说啊,Employee对象被利用JDK,哎,默认保存对象默认,如果保存对象使用咱们这个JDK序列化机制,然后呢,序列化后的咱们这个数据保存到咱们这个ready中,这个呢,其实啊是在后来挺难看的,因为我们还是习惯于把我们一些数据,比如以接森的方式我们保存在这,那有两种办法,我想要想实现这个功能,将咱们这个数据以咱们这个接S的方式保存,第一种呢。
12:58
就是哎,我们自己呢,把这个数据转换来,我们自己将对象转为杰森啊这种呢,我们就不说了,哎大家呢,基本都会转用市面上的一些阶层转换工具,那第二种呢,我们来说,其实这个red time里头呢,它有默认的序列化规则,好我们点进去呢,大家都能看到这些规则,这个red table里边,哎都有这些K的序列化器,以及这些值的这些序列化器等等等等,我们来变一下这个规则就行了,而默认呢,它给容器中给我们来放的这个,我们来看一下O这个red time呢,它一切都是默认的,它直接就了一个red templ,把这个red的连接工厂拿过来,把这个tempt返回,那默认情况下呢,我们来看它的这个序列化器用的是什么,我们来看这块默认的序列化器,哎,用的就是JDK的这个序列化器,好,我们来给它切换成。
13:58
阶的序列化器就行了,好,我们来自己写一些red的配置,那在这个conf里边呢?好,我来写一个red conf。
14:09
就叫my con好,我们呢也给里边放几个我们用的red table and configu好,跟它的这个写法呢,这都是一样的,我来复制上一个CCC,只不过呢,我不要这个好,我们呢给容器中放一个object r,我这个呢,专门放一个来序列化employee的,哎,这一块呢,来把这个泛型来变一下。暂形变一下,好,剩下这都一样,只不过呢,我们来放一个序列化器complete.set诶,这呢,我们直接给它设置一个default sir LA比说呢,这时候key跟value以及这都会用到这个序列化器,好这个序列化器里边呢,要传入一个ready sir,这个是拉呢把CLH打开,你看啊,这一块呢,只要我们导了Jackson,那这就有一个叫Jackson to杰son,我们用这个,好,我们把它呢拿过来,CTRLC我来复制来,那在我们这儿来配置。
15:18
你有一个他。好,我来导进来,只不过它new的时候呢,Siri LA要传入一个泛型,好我们呢,就是来转化employee的,我们把它传进来,这呢是我们这个序列话题sir LA。好,那就来简写吧,好,我们把这个序列化器呢,来传进来,让我们这个time里来使用这个序列化器,那同理,那我们剩下的啊,这些扎宾,只要你想给red里边存,那你都可以来写相应的这个ready,好,我把这个写在这呢,我们就来自动注入这个,哎,我们在测试类的时候,类的时候呢,来自动入这个我们叫red。
16:09
And auto where,我们来注入它,注入它呢,们来测试一下control c,哎,啊,我们把这个red tablel复制来,好啊,这个名重名了,那我们把我们自己的这个呢,我们就改成em employee的这个我们就改成它,然后呢,我们自动注入也用的是它。好,那我们接下来呢,我们就用employee的点,我们呢直接options for value好来转化,这个转化呢我们就不要了,然后呢,我点set设置值呢,还是EP杠零一,然后呢,我们这个值就是我们这个employee对象,好来启动测试。
17:03
哎,我发现呢,他说这一块没有参数,没有参数,哎。啊,我们这一块没有传employee.class哎,这个一定要传上,好,我们来重新来启动。在这来测试一下。走。好,这要运行成功,我们来看一下这一块的数据reload,我发现呢,这已经有了EP01,而且呢这也有了值K呢也变了啊值呢也变了,说明呢我们这个序列化器就起作用了,所以呢,我们推荐以后ready我们要用的时候啊,经常要序列化这些employee给里面存,我们就直接改它的序列化器,好这就是我们来改变默认的序列好规则,好这个呢,我们就以此说了一下string以及我们这个啊table的一些使用办法,那我们后来整合的时候呢,来使用一下。
我来说两句