Redis源码分析-内存分配
- gOODiDEA - NoSQLFan本文转载自Day Day Up博客,文章对Redis的内存分配封装zmalloc库进行了分析,描述了Redis在内存分配和使用统计方面的各种细节和技巧. 原文链接:blog.ddup.us. Redis中到处都会进行内存分配操作. 为了屏蔽不同平台之间的差异,以及统计内存占用量等,Redis对内存分配函数进行了一层封装,程序中统一使用zmalloc,zfree一系列函数,位于zmalloc.h,zmalloc.c文中.
Redis 的源码只有2万来行,个人觉得是一个非常合适的学习Unix 环境下C语言编程的实例教材。而读源码,也对了解Redis内部结构很有帮助。
下面推荐的几篇文章,来自阿里巴巴云计算运维部的 hoterran 同学的个人博客,分别对Redis几个重要流程的源码进行了分析研究,对了解Redis内部结构很有帮助。
Redis的Hash Table 在源码里对应的是其dict结构(字典结构),本文内容介绍了Redis 在hash table的结构,产生hash冲突的解决方法,以及非常Redis非常重要的rehash操作过程。
本篇文章主要介绍了Redis的异步网络事件驱动库,主要介绍了Redis使用它来实现非阻塞的网络事件处理的过程。包括了采用此库实现的Redis中各种定时器的原理。
本文介绍了Redis的主从同步策略及原理,介绍了Redis在主从同步时的一些内部命令和内部状态切换。
此文介绍了Redis的 dump.rdb 定时镜像及 aof 日志型备份的实现原理。
本文介绍了Redis在处理网络请求的过程中对Redis协议的分析,介绍了Redis Client对象对客户端命令的解析过程及处理流程。
| 相关文章: |
Redis事件驱动库结构
|
案例:用Redis来存储关注关系
|
深入Redis内部-Redis 源码讲解
|
Redis String类型实现原理
|
Redis内存存储结构分析
|
| 无觅 |