首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Redis代码阅览3-Redis网络监听(3)

2012-08-02 
Redis代码阅读3--Redis网络监听(3)是介绍Redis网络监听的最后一篇文章,着重分析定时时间处理函数serverCro

Redis代码阅读3--Redis网络监听(3)

是介绍Redis网络监听的最后一篇文章,着重分析定时时间处理函数serverCron,这个函数其实已经和网络监听没多大关系了,当时因为其绑定在Redis自定义的事件库的定时事件上,所以放到一起来讲。serverCron的这个函数对Redis的正常运行来说很重要,对于Redis的使用者来说,最重要的就是能够迅速直观地看到Redis的当前的运行状况(keys,sizes,memory等),serverCron就能够使用户得知这些信息,此外,serverCron这个方法定时周期地运行,还承担了AOF Write,VM Swap,BGSAVE,Rehash的操作,使得Redis的运行更加平稳。还是来直接通过代码来分析:

此次,Redis的网络监听部分都介绍完了。再回过头来看前面提到的几个问题:

1.????????Redis支持epoll,select,kquque,,通过配置文件来决定采取哪一种

2.????????支持文件读写事件和定时事件

3.????????采用数组来维护文件事件,链表来保存定时事件(在查找定时事件时,性能不高,有待提高)

4.????????Redis Server单线程响应事件,按照先后顺序来响应事件,因此单台Redis服务器的吞吐量会随着连接的clients越来越多而下降,可以通过增加更多的Redis服务器来解决这个问题

5.????????Redis在很多代码里都考虑到了尽快地响应各种事件,如在aeProcessEvent里面,轮询的wait时间等于当前时间和最近的定时事件响应时间的差值;每次进入轮询wait之前,在beforesleep方法里先响应刚刚unblock的clients等。

?

热点排行