Redis源码学习之【epoll封装】

介绍

在上一篇博文中说到了在Redis 的事件处理中使用到了底层的linux epoll,根据Redis的实现可以使用其他的多路通信层,但是在一般的linux服务器中使用的最多的还是epoll所以这里主要介绍一下epoll。Redis并没有直接的使用linux的epoll而是对其进行了一个简单的封装。

源码

ae_epoll.c

分析

在原有的linux epoll的基础上进行封装,主要封装了一下几个函数:

aeApiCreate:调用epoll_create创建epoll的句柄,并分配epoll事件。

aeApiFree:调用close关闭epoll_create创建的epoll句柄,并释放epoll事件。

aeApiAddEvent:调用epoll_ctl向aeEventLoop中添加一个事件。

aeApiDelEvent:调用epoll_ctl从aeEventLoop中删除一个事件。
aeApiPoll:调用epoll_wait等待事件。

具体的关于epoll的介绍可以参见博文:点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值