yangyang12138

导航

redis

redis是一个内存的nosql数据库,因为是c实现的所以速度相对较快,

源码结构并不负责,我这里重点分析结构和重要的几个类,其余的大家可以自己去看。

redis服务的主程序就是server类,该类启动时首先初始化一些信息,包括配置和扩展,然后初始化server,server会启动一个tcp服务,tcp的流映射到一个fd,fd被映射的fileEvent上,每次生成一个command

执行一次任务并返回就过给client。

cluster是用于管理集群模式的,在集群模式下一个server可以被认为是一个clusterNode。然后一些互相链接的node会选出一个master,读取数据时只能跟master通信,master负责找到指定key应该在那个node中,

每个node维护若干个slot每个slot下可以存若干个key,key与slot直接存在一个换算关系。

db即数据存放的最终位置了,当然它在内存里。db下包含了dict,expries等一系列 map,expries保存key和过期时间,server会有定时程序和watcher来处理这些过期key,watcher是监视key过期和处理客户端回调的。

 

posted on 2019-06-26 00:56  杨杨09265  阅读(85)  评论(0编辑  收藏  举报