00:00
可能要先打住这个项目,我们现在呢,来看一个新的幻灯片。哎,我们现在看新的幻灯片red这个呢,已经给他准备好了,打开我们的这一个PPT。打开PPT有个red,这个red呢,一共有38个幻灯片,但是呢,都很基础啊。都很基础,大家能用。那我们看一下red,那这个时候我们先回回头先讲这个red,所以说我新开一个小的章节。就是的使用。RA的使用。好,给他来一个新的标题一。好,我们来看看RA怎么用呢?打开这里我们来看一下,首先我们看一下RA的基本介绍,RA基本介绍我看一下里,首先呢,Red是一种low c数据库,这是一个基本常识,什么叫low数据库呢?它不是传统的关系型数据库。
01:01
我们听到的像刚才老说的MY呀,Oracle呀,它都是关系性的,就它有这种组件呢,外键这样一些东西啊,进行一个关联,那么呃,Red呢,它不是传统的关系性,它是它是一种S数据库,基于这种列的啊列的形式,那么它的官网呢,一个是这个啊,这样大家可以去看一下啊,这是它的官网里面呢,有它下载它的软件,这个我可以简单的给给你们看一下啊。这个呢我也不多说,因为后面我们直接带大家安装软件就行了。好,这个应该是可以上的,因为他后CN来看,这里面讲的很多啊,包括他说的什么东西,这这这个red现在还是比较火啊,现在几乎学Java学Java的同学应该都学过red吧,我估计啊,然后这边他有很多类型,类型比手串啊,哈希呀,列表呀等等等,他这里面做了一些介绍,什么历史的是干什么的等等等等,他这面都有一些介绍啊。啊,你看这他有些说他是干什么的,介绍数据类型,好,这是它的一个官网,那么第二个要知道是red,它的全称是什么?Red全是remote directory server,就是远程字典。
02:13
服务器。远程字典服务器,呃,翻译翻译的很生硬啊,其实说白了就是就是一个服务器啊,里面是数据的,那么red性能非常的高,单机能够达到15万,15万个这个,这个QPS这个15万的QPS已经很高了啊,就每秒的读写,读写率很高的这个。啊,15万已经很高了,至少比一般的这种关系型数据库要高很多,所以它速度非常快,非常的适合做缓存,也可以持久化,它既可以做缓存,又可以持久化,很厉害,也就是说它既可以把数据加载到内存,同时呢,也可以定期的把数据直接给你讲,给你直接持有化到文件里面去,好,那么而且它有几个性能,一个是开源高性能分布式,它也只是分布式。
03:05
它是运基于内存并支持持有化,是目前最热的一个数据库之一,它也叫数据结构。服务器,为什么管它叫数据结构服务器有道理,因为它的它支持的数据类型呢,都跟数据结构相关,你比如说最经典的哈希。它支持哈希哈希表的结构,它支持list的list的这个结构,它还支持这个集合叫set啊,所以说呢,呃,如果说同学们学学过数据结构,听起来就更轻松了,好,我把它基本介绍先说到这里啊,我们现在就来安装一样。基本介绍老师做了一个基本介绍,放到这里来。最近啊,这个学完了,今天晚上是有是有作业的,我要求大家。把前面我们写的那一个,大家记不记得,我们前面写的客户关系管理系统,还有一个机上系统,原先我们是把数据持久化到文件的,现在呢,今天学了过后,晚上给改了,要把它全部。
04:10
改到去持久化,哎,这样你就把东西活学活用了,好这是我们的第一个,刚才老师说的这么一点,好,给他来一个截取。好,同学们,给他来一个截取,放到这里来。好,这个说完过后呢,基本介绍说完过后,我们就来看一个基本的使用,看red的安装和它使用非常简单,Red的安装不管是Linux还是Windows,非常简单,基本上就是解压即用啊,解压就可以用了,非常简单,不,不存在安装啊,基本上就不算,它是这样子的,下载后直接解压,就是red的服务器,还有red客户端。啊,这个客端用来做做做这个测试的,一个是杠exe,一个是exe,双击即可运行,并不需要安装好,这个很就非常简单,我给大家演示一下。
05:05
安装。来一个标题三,各位朋友。来一个标题三。好各位,我把它放在这里啊,安装非常简单,那有些同学老师这个ready这咱有了没有呢,诶不着急啊,我这里呢,都给他准备好了。大家看到在你们第一天的时候,在第一天时候我已经给大家分享过去了,你们可以看到在第一天资料里边有一个这样的。这样的上哪去了,软件软件里面呢,有一个这个这个文件大概有五兆左右,很小,Red是杠,这个东西现在大家应该手上都有啊,手上都有好,如果手上都有的话呢,同学们,你们就这样点处理就可以了。非常的简单,解压。谢谢。
06:01
把它解一下压就行了,找到这儿。解压,解压完了过后呢,你看到有个文件夹,这个文件夹里面有两个。程序啊,一个是server。一个是兰。这两个关系是什么关系呢?来,同学们。简单的画一下图。Server是我们真正的这个这个服务器。这是我们十。这个是我们真正的这个服务器啊,它是这样子的sir。他应该这样画,准确的说应该这样画啊。如果画的准确点,你可以这样理解。你可以这样理解说,这里有一个我们的呃,Red的一个服务端,Red。那么服务端呢,前面它有一个专门用来接收你指定的地方。就他这边会有一个专门来接收你指定的一个一个前端,这个呢,我们姑且把它叫做这个这个ready的一个核心处理。
07:04
Rubbish的一个核心,核心组件。核心组件,这个核心组件做什么事呢?这个核心组件做的事情就是当你这边要来连接我的时候,各位。它也是一个服务,注意同学们啊,它既然是一个服务,那它应该也有个监听层,也也也跑不了有个监听,说今天我们学的东西呢,就用上了,它一定会有个监听。他肯定会会有端口,这个端口呢,就是6379。他这地方有个端口,监听的端口啊,我再说一遍,只要是服务一定会有监听端口啊,跑不了啊,它默认应该是6379。啊,6379,好,写到这儿吧,6379。那这个时候呢,我们假设这有个客户端。假设这假设这方是我们写了一个那个RA,比如说我们是操作RA的一个文件,比如说叉叉点。
08:02
叉叉底,Gogo go,好,这是我们写的代码,这个是我们什么代码呢?Go代码。这个勾代码呢,它可以发出指令。他通过他肯定要连接嘛,他肯定连连接到我们这个RA这个服务来了。好连接上了功能呢,它在这边可以发出一些指令。发出指令,所以这个指令是什么指令呢?待会再说,肯定无所谓,就是增删改查,肯定就是增三的改查,指是形式不一样,肯定增删改查的指令。对改查,那么他把这个指令发给谁呢?他先发给我们这个监听的服务啊,监听这个服务,这个服务这个核心组件就会去解析你的指令。这个服务它要解析。解析你的指令。什么叫解析呢?就说就说解释一下,解析你的指令,然后他做相应的处理。
09:00
做相应处理。那主要是处理什么呢?他在这个地方有有一块内存,注意听啊,他维护了一块内存。这个家伙谁呀,就是我们red这个这地方,你看我我画了一个大的大的框框,把它框起来了,说明他维护了一个内存,这个内存我换另外一个颜色,注意听讲。他他维护了一块内存。既既然是内存,那大家想想肯定就有很多的数据了,哎,他维护了一块内存。OK。好的内存。那么这个内存里面有什么呢?说白了就是一堆数据,那这个数据有什么形式的数据呢?各位同学最常见的是字符串。字符串,字符串呢,它一般是以KY的形式来保存,但是可以有很多,还有一种呢,就叫哈希。这个哈希呢,也是一种数据结构啊,他在这边有很多的哈希数据,也是大量的一个数据啊,但是我们再具体说这些数据是什么样子的,这有大量的数据,哈希数据就根据你的需求你来保存,还有什么呢?还有经典的list。
10:12
啊,类似的,类似的呢,也是一种数据结构,它的数据呢长,它的结构是以历史的形式来维护你这个数据的。当然这些都是数据,呃,都都是它的,呃组织形式而已啊,数据可以释放任何数据,比如说呃,咱们的字符串啊in特呀,它反正在内存里面都是字符串了,当然还有呢,就是我们的exce。Set set就是集合,集合这种形式的数据它也能存啊,当然这里面放的也是数据啊,放哪些数据呢?那根据实际情况来来来处理数据。好,还有什么数据呢?还有一种就是z set,就是有序啊set。有序的这个集合,集合就叫有序集合。
11:00
有序集合,当然其有序集合呢,跟上面的唯一的唯一就是它,它是有顺序的。也是数据。要也就是说在这个内存里面,他维护的数据形式呢,主要就主要就这么五大类啊,数据好,所以说他在这边处理的时候,说白了他就往里面扔东西,至于怎么扔怎么取,就他的事了,就他在这里面呢,能够去操作我们的这个东西。啊,他可以去操作我们这里面的东西,当然从具体来说就是它这个相应处理,它会往里面扔,或者从里面去,当然它还有一种机制,就久了过后呢,如果因为整个这块是整个这块都在内存里面,数据都在内存里面有一个问题,因因为你有些数据老在内存呢,你不落盘也很危险。你打个比方吧,我关机了。对吧,说我关机,你关机了,内存里面数据就没有了。那怎么办呢?它还涉及到一个持久化的问题,那么它也可以将你的数据真真正正的给你入库,入库啊,入库这样这个这个呢就是入库,这个库啊本质是文件啊,我最好不要画这个东西,就画这个大家容易理解错误,它会有文件,它会真正的存到自己的那个文件里面去,我用这个来表示吧,同学们。
12:19
文件用这个来表示,看起来比较比较专业啊,好,这边就是它最后最后可以保存到的这个文件里面去,一般我们叫DB啊DB。啊写什么新点DB啊DBF啊DBM啊等等啊DB等等等啊然后呢,造造成这里面的东西呢,可以直接这个落盘啊直接落盘。好,他们之间的关系呢,就是这样子的好。但他他是落盘了,过后他还能读出来。啊,罗盘古还很独出。好,大体的这个含义呢,就这些啊,大体含义就这些基本结构就这样子的,那有一个问题啊,苏老师,呃,我通过这个go程序可以操作red,那么我还可以通过什么呢?还可以通过这个也行,就这个程序也行。
13:08
他也提供了一个专业的工具,就是我们的呃,这个red开发者呢,他为了让我们学习比较方便,操作比较方便,他也提供了一个专业的一个叫red杠程序,这个呢,也可以去操作我们的这个red这个这个服务器,好的,那也是说呃,也有可能是这样一个关器。就是你这边呢,诶各位朋友你在这呢,也可以直接双击我们的这个程序,它也可以玩。也就是他呢,也可以连接到哪里啊,它也可以连接到我们的这个指令去。啊,它可以连上去。啊,他也可以连到这,这很正常,这个我们一上午讲的聊天一样,我一个端口当然可以连接多个人了,他也可以通过这里面发送指令去操作去玩啊两个都可以,那当然实际开发中肯定这个用的是最多的。
14:02
显然这个用的最多,咱不可能,那咱们不可能说每次用这个指令去手敲啊,对吧,这个肯定是个重点,好大体的关于他这个操作的这么一个流程我就说完了,那后面我们重点学的是什么呢?一个是go程序怎么操作,第二个就是这个地方怎么操作,他们的指令很像同学们,他这也会发指令,他们的指令的形式非常非常像。啊,他们这个操作的指引。操作这个指令形式非常像啊,所以说我们学完这个过后,我们学完这个过再去看这里面发出指令,基本上不用学了,基本上不用选,只需要我们去稍稍的加载一个就是red的第三方这个插件就可以了。好,OK,大致意思就明明白了,好,同学们,我把这个示意图给各位同学放到这里来。好,有了这个基础知识过后呢,同学们,哎,那你就就这个就很好玩了,好,我把RA跟RA操作一个基本原理图画出来啊,RA操作的。
15:08
诶,操作的一个基本的原理图,我们已经给大家做出来了。我们已经给它做出来了,好,我就画到这里。它有一个指导意义啊OK。好,同学们,我把它保存到我们的数据库里面去。好好好,基本原理我说完了啊,那就讲了一下的基本介绍和RA的一个操作原理。
我来说两句