00:01
大家好,欢迎大家继续收看上硅谷的Linux云算视频,我是刘川老师。我们呢,上节课呢,讲了一下关于的一些原理以及的简单的部署啊。那么本节课呢,来讲一下关于red的命令,其实啊,这个的命令啊,主要是围绕着red的五大数据这个类型来进行这个讲解的,OK,那。关于产品里边第一个类型叫string类型,类型我们呢需要掌握,呃,大约有。五六个命令左右,我们来看一下,第一个叫什么呢?叫site,设置K对应的值为string类型,也就是说设设置一个string类型的建制队而已。设置一个string类型,建筑队怎么设置呀?很简单啊,用set。前边写建名,后边写直名就可以了啊。不是致命,就是值啊,就是变量和。的关系啊。试一下。
01:02
先来启动一下我们的。然后再连接一下。连成之后用set来设置set,比如说我们有一个键名叫name。侄呢,叫刘川。Set是设置,那对应的就是。获取了。键。这样的一个值。Get get。看到这个对应的。里边的纸,那这个东西你猛一看,其实就像我们之前学的这个,呃。变量的那种结构啊,是一样的啊。那我们接着来看第二个。第二个叫NX。Sat X和S的功能是一样的,只不过它呢是什么呢?就是当设置键值对时,会检查这个要设置的键的名字是否已存在,如果已存在,则告诉你这个键已经存在了,不能设置。
02:04
我们先不用set NX,我们先用set,再来试一下设置一个同样的内。什么叫?再来。你会发现,如果你不用set NX直接用set的话,这个会把原来设置过的那个键的值覆盖掉。那我来设置一下。NX。那X。师,这些内幕。啊,再给我改回流传。发现有个返回值是零,而这个时候你干的时候发现没有改,还是张三,为啥。这就是sat NX set会在设置建度时检查是否已存在,若已存在则不做修,则不能修改。再讲一下MS和m get。同时设置和同时获取多个限制。Sad。Age。是18。然后呢,这个six是。
03:05
Get get name。Age six。M是同时设置多个,M指的是。大师获取多个键的值。张三18岁,男的。就是再一个叫BY啊,Inry by。指的是什么呢?指的是对指令键的值做加加操作。做加加操作。现在的这个是不是18呀。Am I cry by。H。In cry。这个in指的是要做指定值加加,比如说我们再给它加一个指定值。我加一个五。他原来是多少。
04:02
再加50 23。那加一个。二那就是25。功能。比如说我想让它减,那就用负的啊。二变20了。这就是inquiry的功能。呃,关于一块八这个。命令啊,其实有四个,这个地方我就讲了一块八,哎,为什么呢,因为。四个太重复性太高了,这一个就能实现四个的所有功能。然后就delete,删除一个已处的禁止。DL。Page。然后再去get。这是string类型的一些命令。OK,那么接下来看一下关于哈希行命令。哈希是string的一个,呃。种字段和。表的映射,也就是说这个哈希就变成一个类似于关系型数据库的那种表。
05:05
他们添加删除操作都是用零和一来进行表示的。的哈希特别适合存储。存储对象啊。是一个哈希类型,那下边我给大家画了一个关于哈希类型的数据存储的模型啊。我设置了一个。一张表名,这张表名叫张三啊。这表明里边呢,有这个键支对有好几个减值对,一个是内蒙线啊,A直线和C线啊。名字叫张三18曼啊,还有个李四的表,这个表里有name age six、李四25。这就是我们这个哈希类型的。兼职队。外层又增加了一个叫什么表?表结构的,那这样一个表结构。那怎么来设置啊,是这样的。我们用h set,就是哈希set来设置这种。字段和表结构啊,字段和表结构。
06:08
H set number1。内蒙流川。NUMBER1就是表一。来演示一下啊。张三,张三了。张三。还可以往A1里边继续写,为啥A1是一个表,表里边可以有多个这种间值的关系?Age适当。甚至six。然后呢,我们可以同时设置A2。A2还是可以有那么叫。还是可以有age。20。就这样结构,那就是。
07:01
H就是。H。A2的。HM和HM盖的意思对吧,这应该懂了吧。HM。同时获取一下A1的name age和。HDL指的是删除表内的某一个限制段。HD。DL删除A1的。Six。来获取。就只有这些。H get指的是获取这个表里的所有减值。是不是只有内吗?39对吧。
08:01
这就是哈希类型的这种。表结构。那再来看一下list链表结构。List列表结构。类似链表结构,其实和我们这个这个哈希表结构有点相似啊,但是它不太一样。它的主要问题在于数据往这个链表里边写入和读取的时候的一个实际问题。那链板结构主要有什么?Push和pop功能,那获取一个范围内的所有值啊。并且这里边没有键名,比如说这个表明就是见面一个表里边可以存多个值,链表结构指的是一个。键可以存多个值的结构啊,一个键可以存多个值的结构,但这里边的值我们也不称为值,我们称为叫元素啊。的元素啊。一个这种表。表结构当中啊,链表结构当中里边。有几个元素啊,里边有几个元素。那也可以理解为是云,呃,这种集合类型,一个集合里有几个值?
09:01
一个集合里面有几个值,这个还是相对比较好理解一些的比较。我们可以通过那个push和pop操作。从链表的头部后尾部向元素内部添加元素啊,像这个表结构当中添加元素,OK,我们来看一下这个例子啊,首先LL。这。指定的键名对应的这个里边添加元素,比如说我们给张三这个链表结构。添加一个信息张三啊。名字叫张三,然后呢,再添一个新特的年龄,再添一个性别,再添一个什么。你发现这个和我们少儿对比,就是上面这个,这个表名呢,叫张三里边呢还有。必须在写张三信息的时候,还得写name age six,而下边这个就是这个列表,名呢叫张三,里边直接写张三内容就可以了,不需要再什名name age six。
10:00
OK,就少了,就。上面这个是一对一的,下边这个是一对多的,明白了吗?这个比较好设置啊,我们来搞一下。嗯,这个列表呢,叫。张三。啊,在张三里边呢,添加一个值叫18。然后呢,我们想从指定的这个链表当中取指定范围的值,一般可以用什么来取全部呢?用零到负一来取全部。然后呢,这个链表的名字叫张三。零到负一就是去所有。到负一就是区所有。然后呢,下边是一个关于air push air push air pop pop l range的这么一个图。
11:02
这个地方主要是什么呢?先写入的后删除。从上面写的话,先写绿的,是不是绿的沉到最下面去了。然后再写黄,再写红的。的。以这种模式从。从上面取的时候是先取出红色的,再取黄色取绿的呀,那你看如果是L和L这。然后就是先写入在后深处。先写的,最后删除的。而如果是使用l po和r po的模式,就是先写入的,先删除,先写绿的,绿的在最下面,删的时候肯定先删它。这就是一些我们的这些这种写入和书。这个弹出数据的一些组合模型。组合模型。这个呢,就是关于我们的这个list链表结构的命令啊,我们就掌握这么几个就够了啊。再来看一下我们的这个集合类型,Set集合类型,那set是集合,它呢是无序的集合,无序的集合那。
12:00
赛特是通过哈希推宝,哈希也是通过哈希表实现的,那对集合呢,我们可以做这个集合的并集、交集、差集等等,当然合集这个概念呢,我们在这个地方,呃,简单提了一下,但实际上这个地方用不到合集,也没法做合集,因为什么呢?因为一个集合当中不允许我重复值。不允许冲分。OK,那通过这些操作,我们可以实现社交网站上好友推荐的功能,那好友推荐的功能。这个你们可以看一下啊。这个很简单,怎么来做好友推荐,做交集嘛,当做交集嘛。这个我里边有四个好友,1234,你里边也有四个好友,3456,那咱俩的共同好友就是三四,那咱俩的共同好。634,那这个时候呢,由于咱俩认识并且有共同好友,那我的一二是不是也可以推荐给你认识,你的五六是不是可以推荐给我认识,就这个意思明白了吗。这就是啊,这种。
13:00
无序集合在我们生产环境中的一个用处啊,一个用处。OK,看一下无可怎么来设置啊。无序集合的设置方式使用s sad命令啊,Sad set a。然后呢,设置一个集合名啊。集合,集合里边写1234。这些元素值就行。然后呢,想看这个集合里边的元素用members啊,Members我们来试了一下啊。啊。这个集合呢,叫m set啊。格啊,123456。采用s members。然后来看,这个叫M集合。啊,六个集合来六个元素啊,六个元素用rem从集合中删除一个指定的啊。多个元素可以删一个,也可以删多个rem。比如说你想删这个里边。
14:00
123456是吧,把这个。246删掉啊。SREM。246。再来看的时候。没有指定那个几何名啊,Met。这不就剩三了135了。啊,这个删除s pop只是从随机从截图中删除一个,随机删一个啊,随机删s pop。I。删了个五,那里边儿是不是就剩一个一三了,OK。这是指C身处那S的只是统计数量。Card。统计数量,俩,没错,就俩。那SD。就是返回集合一和二的差集。返回七号幺二叉几二。哎,这个S指的是做交集啊。这个S指的是。
15:01
概念还是蛮清楚的,上面我用这个图给大家把这个关于呃。并集、交集、差集的概念说一下,值得注意的是,这里边儿的这个差集一定要有个参数对象啊A。被参数对象啊。A和B的这个差距是12B的参数对象啊,这个A和B的差距是五六。这个信息要注意,别的没有啥。好了,我们再来看最后一个叫the set啊the set,那关于z set呢,它是我们的这个有序集合,是set升级版有序集合,它呢是增加了一个顺序啊,增加了一个顺序,那这个属性呢,添加在元素的这个开头,需要每次指令z set会自动重新按照你所添加的那个指定的那个值来进行对数据进行排序。对数进行排序,也就是说并不是说你输入的数值按这个值来排序,而是对你。输入的这个元素的这个元素的标签,按标签来进行排序,比如说张三的标签是二,那那个李四这是一,那李四就排上边,长三角排下边。
16:14
上面排序。有序集合的排序方式啊,先按照预设好的分数啊。就这个标签来排序啊,如果这个预设的标签一样,那再按照20个码来排序,按照。这个直的啊,这个马可去。么怎么设置啊?ZD就是来设置一个有序集合zd z set2,张三一,李四一,王五。那这个时候李四和王五就排到张三前面。然后李四和王五他俩由于分数都是一,他俩再去按阿斯格玛去比较谁在前面这段活,这就是我们的这个关于这个无序,呃,有序集合的一个。那么怎么来看呢?用the wrong的方式。
17:08
李四排第一,王五排第二。张三排第三。先按分数排,两个分数是一的排前面。那两个分数一样的在什么?在阿斯法利四排王五前面。删除用z rem删除啊。查看这个集合动物元素过程card。They。Hard。这个集合叫啥set?就是关于我们的这个。Already似的。那这个关于我们的这个。关于嗯。五种数据类型,以及五种数据类型相关的一些命令啊,相关命令,那命令其实远比这个多的要多啊。把这个之前给。呃,这个写第一版这个课件的时候。
18:02
当时是拿这个PPT写的,光这个PPT写了有一百二三十页啊。这个命令非常非常多。我们本节课就先到这儿,我们下节课再讲一下我们的其他内容,OK。我们下一课再见。
我来说两句