- redis 2.8.24是用c写的,2.8.24的源码地址
- TCP端口的监听和连接的处理是调用的Linux系统函数epoll_wait
- 通信协议为自定义文本协议RESP (REdis Serialization Protocol)
- 核心数据存储采用两张Hash表,一张存key和对应的Object的地址,另一张存key和对应的Expire时间。
- expire按升序链表排列,最早过期的key排在最前面,每次删除最前面的一个。用Linux系统函数epoll_wait来实现计时。示例《redis源码学习:基于epoll_wait的定时器及示例》
- 主逻辑是单线程的,由Linux系统函数epoll_wait的阻塞模式来实现事件驱动与函数回调。AOF操作是由另一个线程来执行。
- 原子操作采用GCC内置函数__sync_add_and_fetch,__sync_sub_and_fetch。
redis源码学习笔记概要
猜你喜欢
转载自blog.csdn.net/pengpengzhou/article/details/103422977
今日推荐
周排行