00:00
好,同学们,接下来为大家介绍red字符串类型,词句类型相关的API和常用命令,它绝对是我们red API当中用的最频繁最重要,绝绝对对的一号男神化事人,甚至有些命令都是他的子类,所以同学们这个务必掌握走。首先官网地址来自于数据类型俊,那么讲第一个命令为他作为突破口,后续。不见得每一个命令都要带大家通读官网,有需要的同学可以自行查阅,一、官网上怎么看?二、这个命令怎么查?首先。这块是对于这个命令的介绍,案例该怎么用?第三一个它的一些限制和说明,比如说告诉你很清楚啊,任何一个子俊,它的value值最大是512兆,那么当然啊,这么大的一个绝对是大K中的大K了。那么后面请同学们务必要避免这。
01:03
带着一个500兆的字符串,你跑到哪都是一路霹雳火花带闪电,非常容易造成网络堵塞。那么接下来它会告诉你基本命令以及它相关的延伸命令set,诶。Set NX get m get等等等等,那么以及它跟其他周边命令有哪些用途?那这个命令如果我们想看它的参数,该怎么学呢?那么同学们,孩子们记得command,对吧?第一个命令我详细讲,后续我就不再这么操作演示了。好,那么来再套。我们呢?类型弟兄们,Set来吧,在这块就是它的语法表达set k和value。那么下面提个问题。你自己学的时候应该有个心眼,为什么这个是空白,这两个要加中括号,这是什么意思啊?那么听好,如果这两个代表B选项,中括号代表可选,可以省略,可以不写啊,那么这些参数分别什么意思呢?
02:08
语法参数选项就完整的告诉了你OK,返回值是什么,好,诸如此类。那么以后你要学到哪一种数据类型,对类型的总纲的查阅,建这个网址,对类型的命令查阅,就是我们科曼的OK,好,那么不再多说,接下来那么同学们常用命令给同学们进行了整理好,它主要是单值单value。很明白的,S塔K1V1对吧,K和value最经典的,那么所以说呢,单值单value这个接下来我们就要用案例给同学们进行详细的说明和讲解。第一个最常用的,那么作为作为Java程序员,封装过Java并都清楚set get这个能够玩的花火非常多,所以这个命令我们会下大力气把全部参数给同学们录一遍,认真讲解。大家都清楚高端的代码往往只需要最朴素的命令能够实现,下面走起来看看我们的。
03:11
Set key和value,它所能完成命令。对于我们的7.0版。它做了很大的升级,如果你不是7.0啊,咱们来先看一下啊,Set,大家请看key value在我们提示框里面,它是不是后面长长的一大串参数啊,那么每一个option分别是什么意思呢?那么来好杨哥,这不用你教。哦,不是每一个都有,但是你敲的正确吗?比如说这个keep t TL,好,那么下面兄弟们挨个讲解来吧,首先set命令有1XPXNXXX以及keep t tl5个可选参数,那么TTTTL 6.0以后添加的,对吧?所以说7.0现在是一锅端,杨哥给你呢,全部加。
04:06
这个命令非常重要,下面呢,我们来lawyer挨个挨个聊啊,EXPX是什么?以秒为单位的设置过期时间,这个呢,是以什么毫秒啊?了解了这个就相当于说EXEXP叫过期时间,比如说你set key value写个EX12,就代表这个K10秒钟以后过期,那P是什么?是更加精确的什么毫秒级别的控制?那接下来这个问题来了,Ex X at他也跟你说了,叫time step时间戳是以设置一秒为单位的unix时间戳,所对应的时间为过期时机。哦,我明白了,是unix来。那请问你怎么获得?以unix时间戳为单位的过期时间呢,这个参数啊。它不像说秒十秒,你就写个十,那这个你应该写多少,那么再来,这个是以unix时间戳为单位的过去时间毫秒级别,那么NX。
05:06
If not exist,如果不存在的时候,设置这个键XX是键,已存在的时候设置这个键再来。Keep TTL保留设置前指定键的生存时间,Get返回指定键原本的值,如果不存在返回,那好了,同学们,全部的option带着问题我们呢先过一遍,再带着问题再给大家进行处理和讲解来吧,首先呢啊,同学们,我先把K1给删了,现在干干净净清清爽爽来SK一位一。先来第一个叫NX,如果不存在我再创建,如果XX已经存在,那么来请看一下我们的一个是不存在的时候才创建,一个是存在的时候才建好,两个不一样,那么假设K1现在没有吧,NX那么一回车兄弟们请看K1没问题吧,那么再来啊,SK1V1,我再重新执行一次,现在是不是已经有这个K1了,它返回什么?那所以这次命令直接失效,OK,好,那么同学们再来再KV1XX,那么这个是乙存在的时候我们呢才创建,那么为了保证,那么假设我加上这么一个,大家请看,大家请看,大家请看三次都是已存在,我继续创建,先说后面的是不是把它覆盖,那么get ke1,大家请看VEXXOK,所以说第一组K1 V1NXXX就给大家说到这好了,那接下来。
06:43
再加个参数get,这啥意思呢?就是说我在设置之前先返回我当前K1的这个值,然后再用新的值把它覆盖,弹出老的,在设置进去新的,那么同学们请看演示,现在这个SK1VE命令,在设置之前先把里面拥有的先给我弹出去,先返回,先get,也记我要新修改的前提是先get老值,那么老值是多少?VE1XX就是我们上一步做的,那么现在我再get k1,大家告诉我应该是什么,请看这个是不是变成V1了,哎,所以说这个就非常灵活,可以再进行。
07:25
相当于我们加法里面的save哦,Update操作,哎,他把两个命令呢合二为一了,好,这是其中一个,那么下面再来看1V1好。第三组。过期时间EXPX,一个是秒,一个是毫秒,那么当然我们说秒就足够了,一般我们不会设置毫秒对吧?但是要给大家说清楚,那么大家请看啊,Ex,假设十秒钟,那么t TL ke多少?T TL ke多少?不用我解释了吧,所以这个也就是我们的什么。
08:03
设置过期时间,那么来SK1,好,干脆等它彻底过期吧,那同学们请看负二是不是已经过期了,那么现在我get k1没了吧?那么来吧,这K1V1刚才一是秒,那么现在一样PX是毫秒,那么大家都清楚3000毫秒或者是5000或者就8000毫秒吧,那么来TTLK1多少8000毫秒是不是就是八秒钟?我认为这个不用我多废话了,OK,那么来TTLK1是不是过期?那么现在get k1没有了,过下面SK1V1。NX X X get expx都说过了,来请看啊,有exax的时间串毫秒数,那么这个时候应该怎么获得呢?当然这个要给大家讲解啊,实际工作中,如果你是高频发那个程序,你可能用unix间戳,它就不用进行系统的底层换算,会稍微准一点,但是一般啊,只要你不是反人类,我觉得用这个用这个足够了,但这个呢,既然它出现了,是用那个时间戳的,我们呢,要给大家进行一下讲解,因为第一个命令,第一个类型用的最重要的,我们详细讲解。
09:15
后续大家掌握这个方法,开始呢,后面命令的自学,我不可能穷尽所有命令,那么下面带着问题来了。你怎么获得unix时间戳所对应的时间日期呢?来,在Java里面有这么一个代码。K,过去的英语时间用long.to string,就这样一个OK,好,那么同学们啊,现在呢,我们呢,就搁到这,这个代码呢,我节约时间先给大家提前粘好了。来大家请看啊转过来,那么现在啊,我们就是exa这个呢,就是我们的unitx时间戳的什么。秒钟,那么现在是229,假设啊,我把它变成249,相当于是多个20秒上去,那么TKLT一看,大家请看还剩多少秒,是不是还剩三秒了,这么说能跟上,OK,可能我刚才设的有点短啊,一个sat,那么假设我们再来一次。
10:13
同学们请看257没问题吧,那么对于我们的257啊,那么假设我就往上加30秒上去。Dtl ke1大家请看是不是还有19秒,因为拷贝过来时候是不是也要用点时间,那么来同学们,这个应该没什么问题吧,那么自然而然这种方法是得到秒,那么再来个1000,是不是得到毫秒不接受,好那么接下来我们呢,还有最后一组叫keep t TL,这个非常重要,好那么下面塔K1大家请先看我演示第一组啊,我们S塔K1V1大家请看。我EX30秒钟没问题吧,那这个呢,大家都清楚了,杨哥秒懂,现在开一三十秒钟以后过期,现在我赛开机,我又把它设成V11,这么说能跟上一回车,请看TTL多少负一了,意思就是说我现在有一种需求。
11:14
它跟它默认的不一样,它默认是同一个K,如果你做了修改,如果你没有继续追加时间,就会用默认的永不超时,把以前的过期时间给覆盖了。你说你改一次值,我就会把它重新设定为永不过期,那么这样做某些业务场景下面可能会跟我的过期时间相冲突。我现在想达到的一种诉求是我对K1的修改值。不管怎么变,我要续接上上一次的过期时间,所以这个时候同学们请看keep t TL保留设置前指定键的什么生存时间,这个就是一种客观存在的需求,OK,所以再强调一遍,第一次过期时间30秒。
12:04
默认如果你去修改了K1的值啊,它的过期时间就会被覆盖,变成永不过期,我现在想需要做的是我只要设定了这个过期时间,那么对不起你后面不管怎么修改,我这个过期时间继续保留,能够续接上,好,那么同学们,我们delete塔K1啊,给它删掉,那么sat k1 V1ex 30秒钟TTL,我们等一会啊,看的明显一点,那么K1多少还有27秒,那么下面SK。VE keep t TL,大家请看啊,然后我家这个参数叫keep t t来TTLK,还有几秒,是不是还有13秒了,所以说我虽然说改了它的值从K1变成了V1 keep p TL,但是我能把上一个命令首次设置的过期时间给我记承下来,大家请看一秒钟怎么样,负二已经过期,所以在这块。
13:05
请同学们务必了解set命令的全部参数都用得到,因为你在一些高频发的程序,我设置某一个key过期,但是它中间这个值我是允许改的,但是你不能改一次值,Update一次操作就把我们的过期时间给复原了,不可以,我需要续接我的过期时间的时候,这个keep t TL非常重要,请同学们务必拿下,OK,那么在这也给同学们做了对应的一个案例。这个只要是从V1改成V2,你看是不是变成永不过期了,只是变了,但是把过期时间也改了,当然不排除上面这是它默认的一种流程,也是你可以接受的,但是另外一种,如果你希望是不需要改,只改值,但是过期时间永不变,就要加修改命令的时候,就要加这个keep t t了,OK,好,那么同学们,这个就是我们最重要的词中类型的什么set和get,请同学们现在呢,我们呢休息五分钟,做一下这个课堂练习。
我来说两句