redis源码学习笔记概要

  1. redis 2.8.24是用c写的,2.8.24的源码地址
  2. TCP端口的监听和连接的处理是调用的Linux系统函数epoll_wait
  3. 通信协议为自定义文本协议RESP (REdis Serialization Protocol)
  4. 核心数据存储采用两张Hash表,一张存key和对应的Object的地址,另一张存key和对应的Expire时间。
  5. expire按升序链表排列,最早过期的key排在最前面,每次删除最前面的一个。用Linux系统函数epoll_wait来实现计时。示例《redis源码学习:基于epoll_wait的定时器及示例》
  6. 主逻辑是单线程的,由Linux系统函数epoll_wait的阻塞模式来实现事件驱动与函数回调。AOF操作是由另一个线程来执行。
  7. 原子操作采用GCC内置函数__sync_add_and_fetch,__sync_sub_and_fetch
发布了51 篇原创文章 · 获赞 3 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/pengpengzhou/article/details/103422977