00:00
好,各位同学,我们来看,接着看刚才写的代码。下面呢,我们来看一下啊,各位同学,那么我们来看看怎么去操作多个呢?操作哈希,通过go对RA操作哈希数据类型,其实只要做一点点变化,一点点变化,哪一点变化呢?各位同学请看你只需要把这个do指令。把刚才的那个set改成h set,然后呢,你按照这个哈希的这种数据的组织形式往里面扔,比如说有点零一,它的名字叫名字叫汤姆,然后呢,年龄是什么,可以写,写完了过后注意听。那。这个时候呢,你在获取的时候啊,哦不还不行,因为这个我就H呢,我是单个单个给的,所以说我这边只能一个一个给,比如说我先把U201名字给了,再给年龄这个是可以的。大家应该还记得这个h set呢,我们前前面讲的是,它是给user点1011个字段,一个字段的复制,如果你要多个给的话呢,要用HM set。
01:07
好,待会我们再举例,好,先看这个最简单的啊,行,取出来也是一样的道理,好,来演示一下如何操作H哈,行,好,各位同学放到这里来。好,各位,我先把它板书到咱们的笔记里面去,这是第三个。好,这是要求啊,那现在呢,我们来完成它的一个案例,打开我们的这个Vs code,我们新建一个文件啊,DEMO02。Ready是DEMO啊,因为它是有一个main,那我干脆呃再写新的吧。哦。DEMO。零二。好的,然后呢,我在这个位置啊,各位朋友加一个新的叫命。好没点够加进去。没点go。呃,因为时间的关系呢,我们就省点事儿,就把刚才。
02:03
刚才这边写的这个案例,整个复制一份,整个复制一份到我的这个文件中来,我改一下东西,我唯一要改的就在这里啊,同学们,这地方改成H。H side,我要放一个什么呢?在这个哈希结构的,比如说有一个人叫URUR01这个人,那UR01里面呢,这个人呢,他有他有个名字汤姆,他的名字是。叫比如说叫做换一个名字啊。啊,叫做什么呢,叫做俊。Je。好,然后这个放进去过后呢,我觉得这个人除了名字之外呢,诶他还有年龄,对吧,我要放两个进去,同学们注意听啊,我还要放一个,比如说这个人还是有201,他有个什么呢?他有个年龄,给他一个年龄呢,诶我们给他一个这样的值啊,比如说我给他了一个。妖,比如说这个是18岁。
03:00
好,你这地方可以写任意类型啊,因为它后面是interface的,所以说你写个整数,它也可以接收好两个都加进去了,加进去过我获取的时候呢,我要用h get。比如说这个地方,我获取的是他的名字,当然了,我还可以获取他的什么呀,年龄。获许年龄呢,我再重新写一遍,哎,这地方就不能再打这个冒号了啊,各位同学,那这么写成年龄,好,我把他的年龄和名字取出来再看啊,这个是先给UU201给了个名字,再给它的一个年龄,这边取的时候呢,我也是一个一个取的,好,这帮取下。哦,对,刚才有同学提醒我了啊,非常好,对,确实少了,因为我原先指令里面也有,你必须告诉我取哪个哈希里面的内蒙是吧,取哪个哈西里面的age,对刚才同学们提醒的很很很好啊,很好。好,这个时候取完了以后呢,我把这两个打印出来,那这个我就稍微稍稍的改一下,两个都叫R1,可能很麻烦啊,这叫R1和R2 R1和R2要区分一下。
04:07
好,这个时候呢,可能就要把这个带上了,因为你第一个R1是前面没有定义过的啊,所以要把这个带上好,带上过后呢,我们输出一下啊,我就简单输出一下。A as,哪哪地方错?第几行啊?应该不应该不是这错,应该不错啊,操作OK,我先输出来R等于好输出来先先看看把写完啊R1等于不着急。斜杠NR1呢,我给他来个V对吧,R2因为我已经转过了,对这边要改转一下啊,因为我明明知道它是in特,我就转成in特了,就是它这里面就是它这面很简单的这个这个方法很简单,就是把类型写到这就可以了,好啊,那我把这个再写一下。啊,R1的值,然后呢,R2的值,R2的值。R的值我数出来V,好,第一个呢就是我们的R1,第二个就是我们R2跑一下线。
05:05
看代码有没有毛病啊。好像iris第几行。26。啊啊对对对对,同学说的很对啊,这个呃,同学说的很对。啊,同学们说的很对,这一看就是一个非常严谨的小伙子啊,Thankyou very much啊。很好,他这个提醒的很对,就是这个提示信息呢,咱们按照这个道道理来做。不,哪个地方还要改一下。啊,H上面。在邵阳镇。H啊。好吗?行,我们就干这活好了,对吧,咱们别干别的了,好来,走一个,好,我们跑一下,别,别开玩笑,走跑起来再换一个,换一个包包CD点点CD点点CD的ready是零二对,然后呢,Go run main点够跑诶跑错了啊点。
06:15
好,这个代码应该好好CD到main包,Go run main点够跑起来看效果。好,同学们会看到我们提提取到这个卷和18,当然嗯,如果说同学们,呃,如果同学们在这个这边看,应该也能看到,比如说我get一个USERR01,对不对,USER01它的名字。哎,对,把这个名字写错了H。学到了,但是你要把它一次性取出来,也可以get all。那这边呢,就是K,呃,就是UU点零一。出来了,看那有些有些同学说,老师假设我也想一次性取出来,可不可以,你仍然可以用这个指令。比如说你如果想说老师我这样移过去,我我太麻烦了,我可以用H2,然后把这个UR取出来,它会返回一个什么呢?你可以把它转成一个集合。
07:07
他把这个东西取出来,但是麻烦就在这个地方,就是说你你得一个月再转一次啊,一个月再转一次。好,这个这个案例先说到这儿,我们再再看另外一个案例。这个呢是一个一个放,太慢了,太慢了,我们还有一个案例什么呢?我们来批量的set和get,比如说我们通过go浪对ready操作,一次性操作可一次性操,一次操作可以set get多个开发流,那么我这举个例子,比如说set。名字。啊注意啊,我这个地方注意注意这个地方我用的不是操作的这个哈希了啊,我是我是相当于呃,我是相当于给里面放的是多个的这种KY6啊KY6啊,这这个也可以也可以,那有些同学老师我想我想用HM呢,一样的道理一样啊实实际上是一样的,这个地方我是操作的多个K86啊。
08:08
嗯,你你如果想这样做,同学说老师我我这个一个一个的哈希一个方也很累,你也可以这做一个改进啊呃,怎么改进呢,也可以这样改进,我就在这上面改一下啊同学们大家大家应该能看懂,我把它注销一下。假设我在这改进一下啊,就像加哈希的时候,我一次性加进去,我这样改进一下大家看。我拿这一个。过了这一个,比如说。我在这方操作哈希的时候呢,我这写的是HM,呃,这个先把上面这个打开。这先把这个这个关闭啊。啊,这个不能这样写,这样写容易,好不容易写的代码呢,大家可能是瞬间就看不懂了,干脆咱们新建一个吧。问点二。这个不在乎这一点时间了,就说新建一个文件夹。文件main点够好,我把这个代码呢粘过来。
09:04
粘过来过后呢,我们演示一下,呃,就是呃那个哈希的批量的那种操作好改一下这个我就直接改了,不要这个了啊,因为上面那个代码我是有保留的。HM。HM过后呢,然后这个user,比如说USER02吧,名字和年龄一起给。Age。好,它的第二个字段名是H,值是18 19吧,换一个好,这个应该是HM side出错了。好,这个现在呢,取数去取数去呢,我想一次性把它取出来,对吧,叫HM get。那这个时候我取的是零二,那这个时候呢,注意同学们看到啊,这时呢,你要写上你要取得他的哪些信息名字,你要要还要选什么呢?好,你说我还想取他的年龄。好,同学们,这个时候呢,它取位是多个值,所以这个们应该转的话,应该转成S啊S好转成一个so呢,这个就可以了,现在啊,同学们,我们在取的时候呢,我们要用便利的方式来取这个res res。
10:11
R re,因为它返回的是一个,呃,应该是个集合啊,呃,在我们勾当里面呢,它类似于切片啊,或者是map这些东西,我们来看一下。好,我们可以看一下啊,来,我把它取出来,首先它应该是有一个呃索引的哎。啊,哪里。好,我们可以可以先把它打出来看是什么,直接这样先输出一下,看一下它的结构啊。就是R等于V直接输出来看是什么东西,这样的我们心里面就更有底了,因为它那个直接返回是个接口类型,所以说你还得确认一下是什么F。然后我们再根据相应的方式来处理,看看他他有没有带这个K。好,同学们,我们跑一下CD点点上一节C到面点二,然后go run。
11:01
Go run好,慢点,Go跑一下。哦,它是个什么玩意,看起来像个什么,应该像像个切片的样子是吧?那就简单了,那既然是切片,那应该都是字符串了,那这个就easy了,那既然是切片,我就遍历这个切片不就完了吗?这大家应该能看懂吧,Range。所以有时候你要把它打印出来,自己动动脑筋看一下,不用啊,每个都看第一个我们把它打印出来啊,比如说R。走一个啊,那就是R,既然是切片,我就这样打了啊。R100分D等于百分的S应该它是字,因为我转成字符串了嘛,所以就就S好这个地方应该写一个I就该写个V,打一个呢,我们就换一行好,这样可以把它都遍历出来,走一个。哦,原来这个里面有哪些的一个券和19好取出来可以了啊,就你你要取多少就可以,那如果你是多个用户呢,大不了就是一个两个for循环嘛,好。
12:03
这个也讲完了,那有什么问题。对,那这个也可以啊,也可以到时候把这个函数在自己手头再查一查,这些都有了,都有好,我把这个呢给大家再放到这里面去。放到这边我们讲了一个什么呢?诶,我们讲了一个关于这个批量的操作,这个是一个意思,我就不写了,因为有一个案例大家能能够知道什么原因就行了,好吧,就一样道理,看v range对吧?诶好,我们把操作哈希这一块给同学们板书到笔里面去。好,我把这个放到这里面来了,操作还行,那具体来说这个案例是怎么写的呢?我们写了两个案例,一个是单个单个放的。发罪。好,这是我们的第一个案例啊,第一个案例就是啊,一个一次一个一个的发啊对给对对这个哈希。对,哈希。
13:00
哈希,这个数据呢,数据结构一个一个的放一个。呃,就是这个field field和value是一个一个放的,是一个一个的放入。和读取对吧。好,那具体代码呢,如下代码。代码如下啊代码呢,我给大家放到笔记里边去。好,其实挺简单,当然我们在这个基础上呢,我们又做了一个还是对哈希的操作,但是呢,我们是批量的往里面放的,就是就是一次性的进行这个读写批量的操作,看案例。好,又写了一个案例,对话器是是批量的放入,对不对?批量的就一次性的放入。批量。的帮助和读取,那这个代码呢,是在我们的这个,呃,零二这边去OK。放着一人。好,板书一下啊。注意,那同学们讲到这儿,大家应该有有个感受了,什么感受呢?说到底其实这个do就是把前面我们学的那个这个red的C端里面的这个指令,把它写了一下就而已,然后拿回来这个结果呢,根据需求转成相应的类型。
14:13
那这些这些类型还有哪些呢?同学们打开我们的这个文档,打开我分享的这个文档,我们来看一下有哪些呢?各位朋友请看在这里它有这样一些文档啊,比如说go type,看到没有go type的,像string呢,特呀斯啊,布尔尼啊等等。啊,这些do函数会必要时将参数转化成二进制,这样就第类写下这个error ineg simple啊,它都支持,它都支持转换,支持转换,那下面呢,我这还有一些小案例,就是跟我讲的是基本上是差不多的,很像还可以设置过期时间都没问题啊,就是相当于把前面讲的那些指令用connect等do的形式,你可以理解这样理解就说原先。
15:01
原先我们在这个地方发出的各种指令,发出的各种指令现在用的是什么发出呢?用connect.do发出,只是他为了能够能够写的更明确一点呢,它都用逗号把一些参数隔开,而我们在这发的时候呢,是用空格隔开的,区别就在这一点。然后返回的结果怎么收呢?好,返回的结果,返回的结果是这样子的,就是我对于这个结果我可以去转直十寸。对,我可以转成十寸,转正十寸过后呢,你还可以用反射进行相应的处理,就是对,但是一般来说没有必要啊,没有必要这个再进行反射了,就需要的结果就足够了。好,呃,像转成一特六四,看到没有哦,我知道学生的年龄是一个对性,我直接转成一特六四,再比如说呃。还还有像这个管道,管道这个操作它可以它可以,但这个呢,就是大家看一下,最主要的还是上面这一部分啊,上面这一部分用的最多,好同学们,那这个哈希咱们也说完了,下面这个呢,批量的这个也说完了。
16:10
好,最后呢,我们布置,呃,这个这个也是一样的道理,这个就不再说啊,把这一版说到这吧,给数据设置有效时间。给数据设置有效时间,好把这个都板输一下批量的set和get数据。好,进行一个板书。讲了一个这个啊,批量的进行get和set数据的操作。好具体核心的代码呢,就这。好,然后呢,接着往下看啊,把这个板述完了过后,我们接着往下看,看什么呢?诶还有呢,就是这个给数据设置有效时间。设置有效时间,它是怎么设置的啊,同学们看。把它放到这里来,这是标题三。那设置有效时间的核心代码就这么一点,就do什么什么,Do什么什么什么。
17:03
那这个地方呢,呃,就是expel,这个就是K,就是给哪一个K设置有效时间为多长。比如说内蒙这个K,我给他设置十分钟。比如说是哈希,哈希呢,这面也是哈希的那个K啊哈希那K,然后给这个哈希设置多长时间,好这个也是可以的,好我们看看下面这个啊,下面这个这个历史的操作,历史的操作也是一样,那么历史操作呢,它的指令。跟我们这个前面一样的,比如说这个手册里边。啊,这个手册里面,它有大量的对历史的操作的指令一样的,比如说想看一下历史的。在这去找,那这个历史的呢,今天我没有讲,同学们可以先呃自学一下,明下次下次我们讲的时候呢,还会把这个list和set讲一下,但是很简单啊,很简单,就说同学们可以适当的先看一看啊,也不是很难,我们下节课再说,然后list的操作呢,就是这样子的啊,很像。
18:04
啊,很像,我把它放在里来,这是对历史的操作,给大家一个标题三。好,它的核心代码是在这儿。啊,核心代码是在这,然后呢我们再来看,还有对什么操作呢,来看一下代码,哎,除了历史之外呢,它还有一个连接词,这个连接词你们先暂时不去看。后面呢,我在我在这个下节课再讲,这个你们先暂时不看啊,我们放到下节课去说今天的作业,作业如此这班啊课堂作业。就是你们课后的作业,这是一部分,就是把这个monster的这个信息,这是一个monster信息。它有名字、年龄和scale,从终端用这个go啊,从终端输入三个masterster信息,使用go纳操作ready,将其放在数据库中,比如提示大家用哈希的这种数据类型。编程便利出所有的master信息并显示终端,当然操作的时候呢,要用那个go去操作red,这是第一个题。还有一个题就是。
19:12
记录用户浏览商品信息的商品的信息,比如保存商品的名字。编写一个函数,可以取出某个用户最近浏览的十个商品名。OK,考虑使用list的数据结构。好,这个历史的呢,你们可以适当的先自学一下,如果做不出来也无无所谓,这个题如果做不出来,你们你们只做第一个题好,第一个题好,最后一个总结就是如果我们写完Y后呢,我们用这个海量用户即时通讯就可以用了啊,到时间我们会开始开始好,今天我把这个作业先布置下,我们留了两个内容啊,我们留了两个内容,我们是放在下一个章节讲的,一个是历史的操作,一个是S操作,那同学呢,呃,在做练习的时候可以先。
20:00
不做这两个题。但是如果有兴趣的同学可以先自学一下,也不是很难,好,我把这个课堂作业也放到我们笔里面去,这个题是必须做的啊,这个题大家是能够做出来了,因为我已经讲完哈希了,好,我把这个题呢,放在我们的这一个笔记里边去,对,放在笔记里边去幺六。打开它。好,我把它放在我们的笔记里面去,今天作业呢,大致就有这么写。好啊,一个就是写下TC pip编程,第二个把原先写的那两个项目用保存,还有第三一个就是这个啊好。
我来说两句