数据库
首页 > 数据库> > Redis面试知识点八、C/S通信模型

Redis面试知识点八、C/S通信模型

作者:互联网

C/S通信模型

  Redis服务器是一个事件驱动程序,它基于Reactor模式开发了自己的网络事件处理器,称为文件事件处理器(file event handler)。

1. File Event Handler

  文件事件处理器使用I/O多路复用(Multiplexing)程序来同时监听多个socket,并为socket关联不同的事件处理器。当被监听的套接字准备好执行accept、read、write、close等操作时,与之对应的文件事件就会产生。

在这里插入图片描述

2. I/O多路复用程序实现

  Redis IO多路复用程序所有功能是通过包装select,epoll,evport,kqueue这些函数实现的,对应源码ae_select.c、ae_epoll.c、ae_kqueue.c文件。
  Redis为每个I/O多路复用函数库都实现了相同的API,I/O多路复用程序的底层实现是可以互换的。事实上,Redis源码中用#include宏定义了相应的规则,程序会在编译时自动选择系统中性能最高的I/O多路复用函数作为Redis的底层实现。

标签:知识点,ae,多路复用,程序,通信模型,Redis,文件事件,处理器
来源: https://blog.csdn.net/flying_monkey_1/article/details/116104326