00:01
各位同学大家好,欢迎继续收看上硅谷RED6视频课程,之前内容中呢,咱们已经完成了red的安装,那下面我们来学习red中常用的数据类型操作。之前咱们讲到了red跟map相比有很多的不同,其中有一个不同就是write中提供各种注意类型,而map开始中只支持单一的注意类型,那咱下面来学习write中这些数据类型的具体操作,那我们来看一下。中呢有五大基本数据类型,咱们看到包括string字符串,List列表,Set集合,哈希,还有这个有序集合site,那下面咱就来学习这操作,在学习操作之前,首先我们先学习这么一点,大家看到咱们之前介绍过,Red是基于key value进行存储的,所以咱们先学习在RA中针对K或者说根对它的键的一些基本操作,那我们来看一下。
01:07
首先我打开工具,我先用客户端连上我们这个red,怎么连?咱之前说过了,在并目录中有一个文件叫RA-S,然后用它咱可以连上我们的red,然后在里边首先给大家先演示它的key操作。然后K的操作中呢,有这么些常用的命令,那我们先看一遍,然后给各位同学一个一个咱们详细演示一下。首先我们看第一个命令就是查看当前库中的,做当前库这个词咱之前说到过啊,Re中默认是不是有多个数据库,而我们默认操作是不是它的零号库,当然你可以操作它的其他库,那我们现在在里边通过K加上一个星号,能查看当前库中有哪些key,包括里边有一个一个this key,判断key是否存在。
02:05
包括这个K什么类型,以及怎么删除,包括设置它的过期时间等等内容,那下面给各位来演示一下。首先我先做个操作,因为咱们目前呢,在我这里边应该是没有东西的,你看啊,他说an array就是它为空,所以咱为了有效果,我先向这里边呢加入几条数据,为了咱能做个测试,这加入数据过程咱一会会讲到针对它几个数据类型操作,我们先做个简单的编写,咱们先重点演示K的操作,那现在呢,在read中有个命令。叫set并流,然后set中能设它的KY6,第一个就是它的K,比如叫这个K1,然后Y6,假如我叫这个Lucy,这样的话往里边设置了一个值,它的K是K1 Y6是Lucy,比如说为了明显我再设一个叫K2,然后它的值叫me,啊,咱再来第三个,我们就设置三个值K3,这个叫解克。而现在我就向write中设置了三步值,K1、K2、K3,它们的值分别是Lucy me和杰克。那下面再来测试命令,首先第一个命令叫K加个星号,能查看到当前库中有哪些的K,那咱回车,大家看一下里边是不是有K1 K2、K3,这样的话我们就测试了第一个命令。
03:38
然后咱再看第二命令啊,就是判断你的K是不存在叫一个this,加上你的K的名称,那咱判断一下。一个exist,比如说我叫K1,大家看返回什么,是不是返回一影,那表示K1这个K就存在,比如说我再写一个,咱来一个K4 K4是没有,然后大家看反应什么,是不是零了,表示K4在我的re中就不存在这个K,或者不存在这个键,这是我们的第二命令,然后第三个命令叫type,能查看你的这个键是什么类型,那咱来一个type,比如我叫K2。
04:20
然后大家看什么类型,是不是一个字符串啊,当然可能是加类型,咱们现在以这个为例,这是第三个命令,然后还有第四个命令叫DL,还一个叫u link,这两命令的都是做删除的,那咱演示一下啊,比如现在我写一个DL,咱们写一个叫K3,把K3这里边的内容删掉,这里边返回一,然后咱们再做一个查看,就是这个K星号,你看里边K3是没了,包括你们这个叫u link。也可以做删除,就是它也是删除你的里边的K,这两个都能做到删除它们的效果呢,就是我们在演示过程中是一样的,但是他们有个区别,要和各位有个了解,就是DL那就直接把我那内容删掉,而u link删的话有个问题啊,或者有一个特点,它叫选择非阻塞删除,什么叫非阻塞?比如说现在我们用u link根据K来删的时候,它会从你的这个key的原数据中把内容删掉,但是真正删除会在你的后续异步操作,比如说我们在删的话。
05:35
他会反应给我们说已经删除完成了,但是其实他内部并没有真正删,他后续会慢慢把这删掉,就是做一个异步的操作,就这两个区别,就是DL直接删u link会异步删除,但是他们的效果都是用于删除你的内容,这各位知道一下,然后除了这个之外,下面还有一个命令,这个命令一个词P,它表示设置你的key的一个过期时间,就是用这个命令加上你的K的名字,然后加上你的这个时间,时间以秒单位,然后现在比如说我们设置一下啊,咱就设这个K1吧。
06:17
XP加上K1,然后这个时间,比如咱写个十秒,现在我这K就是一个十秒时间,然后十秒时间咱会用TTL查看一下,它目前的这个时间是多少,大家看啊,就是目前用TTL加上你这个就是K的这个名称,比如说我们查看一下啊,你看里边啊,因为咱这个现在第一次我查是一秒,其实它应该是十秒,往后就是十九八七到一,从最终结束,这里边有个负二,负二什么意思呢?表示你这个K已经过期了,就值已经取不到了,所以这是我们的这两个命令,一个是设置你的过期时间,一个用TTL查看它还有多少秒过期,如果你是负二就表示已经过期了,那比如说咱再找一个,我们来一个TLK2。
07:10
大家看这多少是负一啊,负一表示它永不过期,因为咱们最开始设置K1的时候,是不是里边没有设置过期时间,那它就永不过期,就是这是两只负二表示已过期,负一表示永不过期,然后这里边显示它还剩下多少秒过期。这是我们提到的关于K操作的几个基本命令,然后除了它之外,下面还有几个命令给各位说一下啊,就是这个咱们演示过叫select select命是什么呢?切换你的库,在right中默认有就是19库,比如说我们来一个SELECT1,那切换到你的一号库,你来一个15,切换到15号库,你再来一个零,那就是默认,我们就是默认操的这个零号库,所以这是select。另外还有一个命令叫DB size。
08:06
演示一下啊。DB size什么意思呢?就是查看你当前这个就是库里边有多少个数量的K,比如说我们有一个有两个用DB赛可以做到,这是我们基本命令,各位把这知道啊,然后除了这个之外呢,最后还有两个命令,但是这两个用的很少,比如说咱看第一个啊叫flash DB,第二个叫flash o flash DB表示可以清空当前库,比如说我当前在零号库,我用这个flash DB。他可以把当前库内容全清掉,如果你写个flash o,那他把里面这所有库的内容都清掉,但是这两个命令我们用的时候要慎用,因为他把数据都会给你清除掉,所以这些都是针对我们re中见的这个操作,最终给大家总结遍啊。第一个查看当前库中有哪些key,用key加信号,第二个判断你的key是否存在exist,包括查看类型,用type删除,用DL或者u link u link表示E步删除,包括设置时间,就是过期时间,查看多长时间过期,Select切换库,DB size,查看你数据库中就是key的数量,包括清空库,不管你是清空当前库还是清空全部库,这里边都有对应的命令,所以这些是针对re建的这些操作,大家把这些给他要。
09:42
知道。
我来说两句