Redis 基础-杂记(第零章)

内存分配机制

redis 的内存分配机制中,有三种分配方法,分别是:jemalloctcmalloclibc

三种方法分别是不同厂家提出的解决方案:

  • jemalloc 是facebook推出的
  • tcmalloc 是Google推出的
  • libc 是标准的内存分配库 malloc 和 free

由于 redis 没有自己的内存池,没有在标准的系统内存分配器上再添加本身的东西,所以系统内存分配器的性能及碎片率会影响到其性能。而这三种解决方案,调用优先级是:tcmalloc > jemalloc > libc,因此三者的性能也是呈现这个序列。

jemallocredis2.4.4 开始就被写入 redis 源码了,但是不知道为什么到了 redis5.0.9 又无法直接使用了,可能是 gcc 的缺失导致中间文件不可用吧。