走进KeyDB( 三 )

主线程其实也是一个worker线程 , 包括了worker线程的工作内容 , 同时也包括只有主线程才可以完成的工作内容 。 在worker线程数组中下标为0的就是主线程 。

主线程的主要工作在实现serverCron , 包括:

  • 处理统计

  • 客户端链接管理

  • db数据的resize和reshard

  • 处理aof

  • replication主备同步

  • cluster模式下的任务

链接管理

在redis中所有链接管理都是在一个线程中完成的 。 在KeyDB的设计中 , 每个worker线程负责一组链接 , 所有的链接插入到本线程的链接列表中维护 。 链接的产生、工作、销毁必须在同个线程中 。 每个链接新增一个字段
int iel; /* the event loop index we're registered with */

推荐阅读