从性能上来说,内存占用过高会引起Reids响应变慢
从高可用上来说,内存过大可能会会引起部分数据丢失,故障恢复变慢
Redis内存消耗主要在于其主进程消耗和子进程消耗。而主进程消耗又主要包括自身内存、对象内存、缓冲区内存、内存碎片五个方面
1、自身内存
指Redis进程自身所占用的内存,这部分内存通常很小
2、对象内存
五大对象,对象内存是Redis内存中占用最大的
3、缓冲区内存
主要的三大缓冲区,详情见下文
4、内存碎片
主要是由于操作系统的内存分配机制和Redis内存分配器的分配策略所决定的
5、子进程内存消耗
子进程内存消耗主要指执行AOF/RDB
重写时Redis创建的子进程内存消耗
在执行RDB快照和AOF重写时主进程会fork出一个子进程,由子进程完成快照和重写操作,虽然使用了写时复制的技术,子进程可以不用完全复制父进程的所有物理内存,但是仍然需要复制其内存页表,在此期间如果有写入操作则需要复制出一份副本出来。因此子进程同样会消耗一部分内存,其消耗的内存量取决于RDB和AOF期间的写入命令量
标签:AOF,Redis,消耗,内存,RDB,进程 From: https://www.cnblogs.com/yogayao/p/17466587.html