00:00
好,同学们,接下来我们看一下这个re给我们提供的MYQ的这个客户端,呃,在这儿。叫lua my,这是它的官方的这个。Get,这个get。呃,同样的文档写的也很详细了啊。呃,它能够作为买soq的客户端去呃发送DMLBDL啊,各种circle,同时还支持这个呃连接数据库的连接池。嗯,我们先看一下这个样例在这里边儿呢,他写了很多的这个,呃,查询请求也是比较详细了,直接呢,我们带着大家来跑一下。呃,在这儿呢,我们。新建一个叫my soq的R文件。然后我准备了一些这个代码转过来,然后跑一下,一会我们再看看。
01:05
呃,你需要注意的就是这个,呃,数据库的地址,然后账号密码,还有这个默认的数据库啊,以及这个star,这个这个这不是以以及这个char site,还有这个max site,这是最大的限制这个MY。反馈给我们的这个数据包,这默认呢,它是一兆大小。我们先跑一下看看啊,然后改一下NGS的这个配置文件。在这儿去调用这个门口。There。然后保存,然后重启一下咱们的这个服务。重启成功了。接下来我们看看。44101,然后这个路啊,诶大家看。啊,现在页面是有乱码对吧?啊,因为现在这个页面呢是。
02:03
呃,直接输出出来的,没给他加一些这个,呃,这个这个HTML里边是没有这个页面编码这些这些信息的,咱们可以在这儿呢,呃,手动给它加一个。嗯,在这是吧叉。Utf杠八。然后保存,然后再重启一下,就改了N这个配置文件得重启啊。走啊,这样它就是这个中文的,这它能显示中文了,这买斯克也就连上了,那接下来我们看看这代码是怎么执行的。呃,和用red很像啊,先require它的这个啊,这个包啊,先把这个包给引进来,然后去拗一下它的这个对象。然后接下来呢,啊,配置timeout就创建连接的时候。和发送请求的时候默认。
03:02
这写的是一。呃,然后接下来开始,呃,初始化一些配置服务器地址啊,都口号什么的。然后接下来呢,去连接这个,呃,My circle啊,连完之后它会把信息反馈给这三个四个变量,OK arrow arrow code和circleate。如果要是没问题的话啊,这就会连上。然后接下来这是呃一条,呃这个。Drop语句啊,就把这个原来这个数据库,如果要是有cat的话,If is把它给drop掉,如果没成功的话也会报错。然后下边这个是。创建一个,呃,这个这个这个table,把这个表再给创建出来,然后里边呢,有两个这个。呃,这个这个。字段一个是key,一个是name啊,我们看看他有没有给我们创建出来。我连一下这个数据库。
04:01
Circle。更ru更P受,对,它被我们是用的。应该是用的EP吧,还是什么啊,掌门use,掌门进去收tables。哎,这cat资他就给我们,其实把这库呢,就已经给我们创建出来了是吧。啊不把这点就应我们创建出来了,然后下边呢,再去执行,呃,查询select form。呃,T_EP然后把这个呃返回的结果呢放在这res里,然后这又引入了一个额外的包,就是c jeson。然后通过这c Jason呢,把这个返回的结果给我们打包,或者是转移成Jason数据直接输出出来。呃,最后呢,输出出来的就是Jason的这种格式。
05:01
然后在接下来的这个side keep live,其实这就是啊连接池了啊,连接可以复用了啊。嗯,其实官方文档里呢,写的也都很清楚了,有很多的这种组件啊,不只是my circle,还有一些其他像post circle也是可以连的啊,这个呢,就留给大家自己去学习了。其实。嗯,重复的内容呢,咱们讲太多就没有什么太大的意义了,在这儿。给大家抛砖引玉来了解和使用一下,先基本使用一下,如果你真的要用呃,MYSQL这个客户端的话呢。啊,一定要注意啊,在。我们的这个呃,NGS里去连买circle的时候。嗯,最好是要注意一下,不要查询条件带参数,因为这里边儿呢,我们仔细看看,就没有这个预编译的。呃,这个功能的啊,就是没有这个,像像这个Java里JDBC里有这个statement。啊,他会在本机先把circleq编译完之后,然后再去呃这个发送给MYL,这样就有能避免掉这个circleql的一些漏洞啊,比如说这种呃,SQ注入的这种风险。
06:12
如果带参数的后边,我们在查询的时候拼接字符串去查询数据库,这个客户端呢,它现在是没有这个功能的啊。嗯。其他的呢,就是在N这里去访问my soq,其实并不是特别的理想,嗯,特别容易把这个流量啊,直接都直接都打到这个MYSQ上,如果你项目不大的话,这个还好一些,如果项目大的话,最好还是把它给隔离开,然后去做缓存啊。嗯,我们也学了这个red的客户端了啊,如果他能做缓存的话,我们也可以把相同的查询的circle,比如说。来了一个这个select芯from提纲EP啊,把这个circle呢,我们把它给缓存起来,作为然后返回的这个res呢,我们作为value把它存到。
07:01
Red里,那下次在请求的时候呢,先去red里去get这个啊,这个key如果get到了呢,直接把值就返回给他了,就省着再去查询my circle了,是吧,因为MYS呢,它主要还是去存储一些这个。啊,我们的这种冷数据的热数据呢,你可以考虑给它放到red里,但是并并发量如果不大的话,这倒也无所谓,MYSQ也没有那么脆弱啊,你如果要是这种一般查询啊,就是那么几十个字段,呃,单条数据呢,有几几这个几百个字节,或者12K字节。这这这这个12K的大小,扛个几千并发,这也是没问题的啊,那这就是。呃,买circle的客户端,更详细的在官方文档里也都给大家记了啊。
我来说两句