KaBuMjue
KaBuMjue
全部文章
分类
源码阅读(4)
归档
标签
去牛客网
登录
/
注册
KaBuMjue的博客
长期更新源码阅读笔记
全部文章
(共4篇)
阅读Redis6.0源码之字典
虽然字典在很多高级语言中都有,用途很广泛,但C语言却是没有,所以还得自己"造轮子"。接下来就看看Redis是如何实现字典数据结构的,相关文件为dict.h,dict.c。 dict.h 在dict.h中定义了多种数据结构用于实现字典。 dict -- 字典 typedef ...
2020-09-13
1
504
阅读Redis6.0源码之链表
因为C标准库没有实现链表这种数据结构,而链表十分常用,所以Redis实现了自己的链表数据结构,相关文件为adlist.h、adlist.c. adlist.h Redis实现的链表是双向的,所以链表节点除了包含数据指针外,还有指向前一个节点以及后一个节点的指针。具体定义如下: typedef str...
2020-09-07
1
527
阅读Redis6.0源码之SDS(Simple Dynamic String)
Redis使用SDS(Simple Dynamic String)来实现字符串对象,相关文件为sdsalloc.h、sds.h、sds.c。 sdsalloc.h 只是"重命名",仅有三行代码: #define s_malloc zmalloc #define s_realloc...
2020-08-29
1
820
阅读Redis6.0源码之内存管理篇
Redis的内存管理是由zmalloc.h和zmalloc.c实现的,编译时会先判断是否使用tcmalloc(google开发的内存分配器,全称Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理)和jemalloc(一种内存分配器,与其它内存分配器相比,...
2020-08-26
2
1288