温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
来,同学们,我们继续接着就是这些问题的一些变种题目。Red如果打满了会怎么样?或者会问你如果内存超出了设置的最大值会怎么样?那杨哥你刚才不是自己也设了一个这个,呃,104857600那么多字节大概就是100兆B啊。那假设干翻了,那么red会出现实现什么样的情况呢?那么所以说同学们走起。我们呢,回答这个问题,首先啊,我们当然要防止被打满,对吧,所以说我们才会有后面的这个过期淘汰策略。但是经不住面试官呢,他故意来问你这道题目是连环套啊,那么你自己已经设置了那么多red啊,你也都明明白如何设置了,他就问你说我就是要让你看看内存打满了以后会怎么样。那么同学们最简单。我们是不是故意可以把这个最大值设为一个字节来看看啊,那么好,同学们,我们呢?
01:04
现在呢,过来这儿啊。刚才呢,我们设置了以后是1048这个100兆B啊,我现在就设置成一个字节。这波弟兄们OK吧,设置完了以后,那么我们我为了保证啊这个。效果。我干脆重启一下,那么service,那么同学们。激动人心的时刻。倒了。我们来看看现在你知道的啊,Memory。大家请看多少human我最大的内存。人工设置了我们的配置以后,多少一个字节,那么弟兄们都知道一个英文,英文字母随便整几个都超过了,那么下面你认为会存进去还是会报错,他就考你这儿,所以说他会问你说如果red打满了会怎么办?那么假设一切在默认情况下,你现在就是我就设了一个字节,一打它会告诉你OM。
02:02
哎,Red也会报oom,他的意思说内存一出了,这个命令不允许被执行,但你用这个内存的时候,为什么已经大大于最多超过的了,所以说同学们在这块一定要注意,OK,好,那么。所以说请把这个错误给大家一点时间背下来,我暂停一下,同学们正因为如此,所以说ready尽量不要让它出现打满的情况。首先如果我们按照一般通用标配的做法啊,不要考虑极端业务啊,那样的话咱们就说不清了,我们说一般的标配。第一个red不是MYSQL数据库啊,你不能什么东西都往里面存,这是第一步,第二步,热点高频的数据,为了。减轻MYQ的劳累程度,减轻MYQ的压力。所以说我们把热点。高频多查询的数据放进我们的MYSQL数据库啊,第三一个默认我们配的话呢,大致呢,你要么用默认就是全部都要占光64位,系统下面占光物理机的全部内存,要不然也是配3/4。
03:09
也够了,那么所以说这样的话呢,我们就要避免它被打满,被打穿,那么刚才我们也演示了故意干坏事,设置成一个字节的话,我们也知道了,如果被打满的话会报oom,那么这一系列操作下来,所以说我们要尽量杜绝red被打满,那么所以说呢,我们呢,如果设置了max memory的选项以后,假设red内存使用上限达到了。并且你那些K也没有加过期时间,就是比如说永不过期,那么将会导致数据写满你的最大内存。为了避免类似情况,我们引出了下一章red的内存淘汰策略。OK。
我来说两句