美文网首页
Redis文件事件

Redis文件事件

作者: lintong | 来源:发表于2015-03-11 15:35 被阅读144次

概要:

Redis的服务器本质上是一个事件驱动程序,其中很重要的一类事件就是对客户端的响应,Redis将服务器与客户端的套接字操作抽象为文件事件
Redis以单线程方式运行,所以为了保证高效必须采用IO多路复用的方式,而且Redis还自己实现了基于Reactor模型的网络事件处理器。

Redis文件事件的构成

1:套接字
2:IO多路复用库
3:事件分派器
4:事件处理器

1:套接字
每个客户端通过套接字连接到服务器上,而服务器给套接字关联不同的事件处理器(所谓的事件处理器即一个处理函数,当客户端产生不同的事件的时候就会调用这些事件进行处理)。
2:IO多路复用
redis的IO多路复用就是封装了epoll,kqueue等IO多路复用库来实现,通过对这些库的抽象,从而可以任意替换。
3:事件类型
IO多路复用一共处理两类事件(ae_readable, ae_writeable),即事件类型是由服务器端角度来看的。
1:当客户端连接到服务器(connect)或者是写入命令(write)即触发读事件。
2:当客户端对套接字执行read操作,即触发写事件。

那么有多少种事件处理器呢?
1:应答事件处理器
该处理器用于服务器对客户端应答操作,即对accept函数的包装。
2:命令请求处理器
当客户端发送命令,会触发命令请求处理器,服务器后台执行命令。
3:命令回复处理器
当服务器处理好请求命令,当客户端调用read函数,触发writeable事件,调用该处理器处理。

相关文章

  • Redis文件事件和时间事件

    Redis服务器需要处理两类事件:文件事件和时间事件。 1、文件事件 Redis服务器通过套接字与客户端进行连接,...

  • Redis - 事件

    Redis - 事件 Redis服务器是一个事件驱动程序,服务器处理的事件分为时间事件和文件事件两类。 文件事件处...

  • 单机数据库的实现(下)

    事件 redis服务器是一个事件驱动程序,主要处理两类事件:文件事件和时间事件。 文件事件 文件事件处理器使用I/...

  • Redis线程模型

    redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 re...

  • redis线程模型

    redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 re...

  • Redis线程模型

    彻底搞懂Redis的线程模型了解redis的单线程模型工作原理 文件事件处理器 Redis基于Reactor模式开...

  • Redis 事件

    Redis是事件驱动的服务器。事件是对操作的抽象,redis中的事件分为两类: 1)文件事件:redis通过soc...

  • redis 知识总结

    redis 线程模型 Redis 基于 Reactor 模式开发了自己的网络事件处理器: 这个处理器被称为文件事件...

  • Redis文件事件

    概要: Redis的服务器本质上是一个事件驱动程序,其中很重要的一类事件就是对客户端的响应,Redis将服务器与客...

  • Redis--事件

    Redis服务器是一个事件驱动程序需要 文件事件 1.redis服务器通过socket与客户端和其他redis服务...

网友评论

      本文标题:Redis文件事件

      本文链接:https://www.haomeiwen.com/subject/ygfbxttx.html