Redis4.x新特性

  • 时间:
  • 浏览:2

MEMORY DOCTOR功能源码地址 https://github.com/antirez/redis/blob/unstable/src/object.c

实现逻辑全在10400行结速了了的getMemoryDoctorReport土土办法中

通过阅读源码,很多人比较慢发现redis会从Instance is empty or not,Memory used peak,High fragmentation,High allocator fragmentation,High process rss overhead,High rss overhead,Slave buffers are too big,Client buffers are too big,Script cache has too many 这4个维度来分析4个多redis节点的内存使用状况,每个维度全部都是相应的触发条件,很多再分别给每个维度提出对应外理建议,具体见下表:

Redis4.x版本去年发布以后,新增了很多新的功能形状。大致翻看下来,4个多叫MEMORY DOCTOR的命令吸引了我的注意。MEMORY DOCTOR命令是Redis4.x版本新增MEMORY 命令下的4个多子命令,它还也能 通过诊断给出关于redis内存使用方面的建议,在不同的状况下会有不同的分析结果。此时我的脑海里第4个多闪过念头:最强AI?redis是全部都是通过哪此冗杂的人工智能算法,对其使用的内存状况做了全方位的分析进而给出了最合理的优化建议?它是全部都是和AlphaGo一样通过学习会变得这麼强?伴随着大大问题我尝试的从github上找了找相关的源码,最后知道真相的我眼泪掉来,不得不说MEMORY DOCTOR的实现真的挺萌的,萌的可爱。哪此最强AI,我上我也行呀。

1.MEMORY DOCTOR这哪有几个对于内存状况维度分析的指标和执行info命令得到的结果这麼的吻合,对于3.0甚至2.8版本哪此不支持MEMORY DOCTOR命令的redis版本,很多人是全部都是另一方也还也能 实现一套内存诊断机制,给出对应的节点外理方案?

2.诊断意见中的那个Sam到底是谁。。

到此为止,很多人应该彻底弄清楚了MEMORY DOCTOR的实现机制了,它到底在哪此状况下会给相应的诊断意见。确实他的实现有这麼些许的萌萌哒,但又显得这麼的合情合理。后续很多人的RedisManager会基于MEMORY DOCTOR命令增加4.0以上集群的健康诊断功能。