Redis 内存管理 源码分析
要想了解redis底层的内存管理是如何进行的,直接看源码绝对是一个很好的选择 下面是我添加了详细注释的源码,需要注意的是,为了便于源码分析,我把redis为了弥补平台差异的那部分代码删了,只需要知道有这个东西便好 下面我会贴上两份源码:一份是我自己的,有删减添加了注释的,一部分是原生的,可以做个参考对照 redis内存管理部分的源码在 zmalloc.h文件和zmalloc.c文件 推荐文章: https://www.cnblogs.com/likui360/p/5272443.html https://www.cnblogs.com/likui360/p/5272975.html http://wiki.jikexueyuan.com/project/redis/memory-data-management.html 我的源码 zmalloc.h: #ifndef __ZMALLOC_H #define __ZMALLOC_H #define __xstr(s) __str(s) #define __str(s) #s #ifndef ZMALLOC_LIB #define ZMALLOC_LIB "libc" #endif /* CPU一次性能读取数据的二进制位数称为字长,也就是我们通常所说的32位系统(字长4个字节)、64位系统(字长8个字节)的由来。 所谓的8字节对齐