redis 线程模型

用户头像
wjchenge
关注
发布于: 2020 年 06 月 10 日
redis线程模型



redis基于Reactor模式开发了自己的网络事件处理器:这个处理器被称为文件事件处理器(file event handler),这个文件事件处理器是单线程的,虽然文件事件处理器以单线程方式运行,但通过使用I/O多路复用程序来监听多个套接 字,文件事件处理器既实现了高性能的网络通信模型,又可以很好地与Redis服务器中其他同样以单线程方式运行的模块进行对接,这保持了 Redis内部单线程设计的简单性。



文件事件处理器的结构包含4个部分:多个socket,IO多路复用程序,文件事件分派器,事件处理器



文件事件处理器的四个组成部分(来源redis设计与实现第12章)



事件类型分以下几种情况:



如果socket没有任何事件被监听,那么函数返回AE_NONE。

如果socket的读事件正在被监听,那么函数返回AE READABLE。

如果socket的写事件正在被监听,那么函数返回AE_WRITABLE。

如果socket的读事件和写事件正在被监听,那么函数返回AEREADABLE | AEWRITABLE。



redis单线程模式示例



目前redis6.0已经发布,支持多线程模型,想了解的话推荐:https://mp.weixin.qq.com/s/FZu3acwK6zrCBZQ_3HoUgw

发布于: 2020 年 06 月 10 日 阅读数: 50
用户头像

wjchenge

关注

还未添加个人签名 2018.07.27 加入

还未添加个人简介

评论 (2 条评论)

发布
用户头像
关注二维码可以放在文末哈,优化读者阅读体验
2020 年 06 月 10 日 17:27
回复
好的,谢谢您的提醒和建议
2020 年 06 月 11 日 10:00
回复
没有更多了
redis线程模型