00:00
那么呢,String这边的话,它是不是我们red里面当中最简单一种数据类型啊,相关联的T,那么好,我们来看看现在string它有一些哪些东西呢?首先这边我们来看看它常用的是不是比那个key要多一些啊好那么这边我们来看看哈,这我给大家有一句小总结叫什么好,那么来我们来来看看这边的效果会是什么样,来set get和delete来吧,哎呀,Delete也打一下,那么大家请看这是不是个my list,那么我这是不是迪delete my list直接是不是从缓存里面,内存里面就把这个给删了,好那么呢,这边大家请看apad和string没讲过,大家猜猜啥意思?
01:00
好,那么现在大家请看K1是不是就是得到TY这个值啊,那么好,那么呢,我们现在呢,是不是呃,判断K1,然后比如说12345,好那么get k1没问题吧,那么好,同理string lengths k1加没问题吧,是不是跟我们的加va X类似啊好,那么换句话说,当你们到减ID了以后,你得到那个减S的实例eclip一点取,是不是会点取出来这些API啊,那么这样的话你连敲都不用敲,是不是直接用Java调用一下就OK了啊好,那么呢,这边的话呢,我们来看第二组inre decreere by和decree by哈,那么呢,来吧,现在比如说set kr,我呢。
02:00
假设十就是一个二吧,那么SK3是V3,好那么inqui,我现在K2,那么大家请看是变三啊,逐渐是不是加一个,那么请问一下,如果你要是要个非常实时快的一个点击率分析,人家点一下你是不是在这加一下,点一下是不是就加一下,还跟数据库有关系吗?那么这样是不是你如果真有这样的特殊的短期的这种需求,是不是加的可以把它放在里面,在那个里面会不会更快一些啊好那么来,那么同理,Decree k2,那么是不是每次就减一个啊好那么呢,这边get k2,那么现在是不是到三啊,那么呢,还increase y k2,假设我加个三三加三是不是要那么一次,是不是除了单步递增,是不是可以多路递增呢?好那么呢,Decre by减减,那么这边。
03:00
A2假设是二,那么大家请看是不是每次减两个呀,好,那么这样有什么用呢?如果你再做一个原子操作,在这个缓存里面,我们希望线程一的加十,线程二的减十,那么是不是有一个是qui,一个是decre,把它封装成一个原子操作呀,就是用这些,好那么来同学们看K3现在是不是V3啊,注意我后面是不是要有数字才能加减啊好,我们看一眼哈,那么现在re,然后K3,那么是不是就不大合适啊,因为没听说过V3加三等于多少对吧?好的,那么这个呢,就是我们的第二组演示,好第三组get range和set range是什么意思呢?这边我们可以看看哈,那么呢,这边哈,Get range是不是范围的意思呀?好,我们来看它有点类似于我们的什么,Between end。
04:00
什么概念呢哈,比如说现在就是获取指定区间范围内的值,类似于between and,好,我们来lawyer哈,比如说我现在get k,嗯,K1吧,是不是TY12345啊,那么get我re减,然后K1,假设零到负一,就是我脚脚底下,那么是不是就是全部,那么假如说我零到3012,那么大家请看三的话,那是不是只把我0123这小节摘出来啊,好的,那么这边的话呢,就是我们转这些hpi都是生产中常用的,有时理那些key的替换啊,或者这个的话,那不用说这些是不是我们用简来操作,都是一些相关的一些基本功啦,调API哈,那么来吧,我们呢,继续看这是不是有个set range啊,那么呢,它的意思呢,又是什么呢?
05:00
Range k值也也就是说啊,还是演示吧,先不说理论了,那么这set range key1,那么我现在是什么呢?比如说我从第零位后面的话就加什么叉叉叉没问题吧,好这那大家请看get第一是不是就叉叉叉了,对呀,赛特嘛,我是不是设置啊,我从第零位开始要设三个叉叉叉进去,那这块是不是就开始设置覆盖了啊set range和get范围内取值范围内设置无非就是set get加了一个嘛,好理解吧,这个有没有点像我们的那个啊,Java API是不是你们学过一个string那个啊,有点像截取那个有点这种类似哈,那么大家可以关联着呢,来记忆好,那么来下面呢,咱们进入到第四组set ex和什么set n X那么。
06:00
D,是不是set with过期时间啊,它的什么意思呢?就是说比如说set ex,我设个T,就像我刚才所说的这个T,我就让他存活一分钟,一分钟以后就挂,我都不用管,我还用不用回头说,哎呀,得想着哈,还有一些key没示范呢,基本上我们不要给自己留着这么一个倒钩刺,我们that,什么ex代表什么到期你用完是不是生命周期终结以后就自动就死了,好的,那么呢,大家看现在假设我K4,那么呢,我呢需让你活十秒,然后呢,V4 OK,大家看t TL time to leave,看看K4还能活几秒,是不是还能六秒,这个时候我去获得是不是可以获得六秒钟已经过了以后,那么K4我们大家知说负二,负二代表是不是已过期了,那么这个时候我get k4是不是就晕呐?那么这个时候相当于说什么?注意,假设我们这个活动举行三天,你们觉得你希不希望给他留一个缓冲?
07:00
最好你是不是也得留到一个第四天了,是啊,因为凡事你是得留个富余,留个余地啊,啊这样你就先多说一下,你就说诶你不是说需求上留三天嘛,但是说难听点,最后还是多留点,你总不能说绝对精确到23:59:59,下一秒就挂掐了,是吧?啊好,那么呢,下面呢,来到后面set NX啊注意它说什么if not不存在,咱们才玩理解吗?什么意思呢?就是说比如说这sat NX,然后P1V11,现在我有没有P1,是不是那个叉叉叉12345啊好,这个时候K1是不是已经存在零,好那么请问现在我get key是V11呢,还是叉叉叉12345,我有没有射进去,大家觉得。
08:00
好,Set ke1明白,好,那么这个时候言下之意是什么?这个就好一个好,就是你加一个,这个也是常用,那么你再往你的red里面干的时候,我们说过为了后者,是不是为了避免覆盖前者啊,你是不是要先判断一次啊,但是你这个加拿大白要多一次,干脆就这么提供一个APINX衣not不存在,咱们才起效了解,那么这样是不是你看red这种API是不是很贴心啊,就可以给你少你真的你到写代码的时候,其实等你们写多了以后,你会发现很多时候开始那个代码是不是重复了,就比如说你今天做增上感查,插只猫是这么差,没人叉着狗是不是还那么差呀,没问题吧,那么这个时候每天就是衣服啊,那种判断衣服那那种垃圾代码写多了以后,你自己都会觉得你的技术是不是难以提高啊,好,那么这儿我们大家看一下现在啊,注注意如果是这个V11呢,K11。
09:00
行不行呢?有没有,那么所以说注意抬头记是这关键的点,Red的回应,第一个如果说起效就是一,不起效就是零,这是一种,第二种是不会告报给你个烂啊,第三种是干脆就是一段提视,就像抛个异常一样,刚才是不是说比如说啊,比如说我们说的那个inry哈,大家看呀,你看直接说报个A过来了,哎,他基本上会有这样,那么如果是生效的话,是不是一个是非空,第二个是不是一啊,当然你说报个错了,这就不用我废话了吧,好好,那么来下面呢,是m set m get m set NX能能能猜猜这啥意思吗?哈,合并合并是吧,墨叽是吧,啊脑子还是挺灵的,那么这儿呢,是这样,M呢,啊,是墨。
10:00
多个好,这有点类似于m set,现在我是不是K1V1啊,K2V2吧,K3V3啊,好,然后m get k1K2K3了解那假设你现在上赛K4V4,这是对的,是不是K5V5是不是错误的语法表达式,他为了保证你就是,嗯,因为那么顺便再来说,同学们在实际工作当中,说难听点,如果你跟red交互,M set get k1V1K2V2 K3V3,请问你后台加va程序送给red啊,是不是就是一个map.ent迭代了以后就是一个k value k value过去啊,前面RED1接是不是就是我们的程序,一个m set就打到我们的面了,了解啊好,那么这呢是一个,那么呢,再来看。
11:00
M set NX哈,那么呢,什么叫m set NX呢?是不是多个不存在,那么注意现在我要请大家考考大家了,现在假设我是K1 K2K3K4好,如果都不存在,那么一起成功好说那部分不存在呢,部分好,注意可能有些同学没听明白哈,现在这是这样哈,是不是123有了好K4有没有假设我123加K4,我一次设四个值,是不是部分有部分没有,那么这个时候呢,是是吗?K4这个K的小船说翻就翻,一个都不成功呢?还是说OK 123我们关心K4我还能插进去一锅端呢,还是四四好,我们来看看哈,这样哈,M3NX现在大家可看,我们就说简单点K3。
12:00
三哈,V3现在是不是K4V4啊,那么言下之意,我们大家都知道,如果K3在这儿也不存在的话,那不用说so easy是不是就设置进去了,那么现在的关键是K3有一个存在,有一个不存在,我是一锅的翻了一个都存不进去,还是说K3就不动,但是K4能存进去都翻好有些有两种答案,好,我们来看看零代表什么,很好,是不是就失效,所以说我们现在get k有没有是不是空啊,OK,好,那么来K5和V5呢,没问题吧,好,是不是四五都出现了,OK,那么好这个呢,就是我们的什么string相关的。
13:00
下划线介绍好,我们的这个string和key呢,就先说到这,大家呢,中场休息一下,OK。
我来说两句