美文网首页
Redis与Reactor

Redis与Reactor

作者: 吕艳凯 | 来源:发表于2020-03-01 15:49 被阅读0次

Redis与Reactor

了解了Reactor模式,那么Redis中又是怎么使用Reactor模式的呢?

首先,Redis服务器中有两类事件,文件事件和时间事件

§ 文件事件(file event):Redis客户端通过socket与Redis服务器连接,而文件事件就是服务器对套接字操作的抽象。例如:客户端发了一个GET命令请求,对于Redis服务器来说就是一个文件事件

§ 时间事件(time event):服务器定时或周期性执行的事件例如,定期执行RDB持久化

在这里我们主要关注Redis处理文件事件的模型参考Redis的设计与实现,Redis的文件事件处理模型是这样的:


image.png

在这个模型中,Redis服务器用主线程执行I/O多路复用程序文件事件分派器以及事件处理器而且,尽管多个文件事件可能会并发出现,Redis服务器是顺序处理各个文件事件的

总结:客户端通过套接字与服务端进行链接,redis会将每个客户端套接字关联到一个指定队列,客户端的指令通过队列排队执行,服务器基于reactor调用事件函数监听套接字,循环检查套接字的状态,当套接字被激活,则调用时间分派器分派事件,通知用户处理事件。

相关文章

  • Redis与Reactor

    Redis与Reactor 了解了Reactor模式,那么Redis中又是怎么使用Reactor模式的呢? 首先,...

  • Redis与Reactor

    https://blog.csdn.net/larry_zeng1/article/details/78867992

  • Reactor和Proactor对比

    常见的IO事件处理模型有两种:Reactor和Proactor。Redis中的ae就是采用的Reactor事件处理...

  • Redis与Reactor设计模式

    最近看了Redis的设计与实现,这本书写的还不错,看完后对Redis的理解有很大的帮助。另外,作者整理了一份Red...

  • Redis线程模型

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

  • redis 知识总结

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

  • Go每日精选(2019-06-23)

    1.Redis与Reactor模式 2.golang中的函数 3.如果你是一个Golang面试官,你会问哪些问题?...

  • 牛皮了!Redis 6.0 如何实现大幅度的性能提升

    导读: Redis可以轻松支撑100k+ QPS,离不开基于Reactor模型的I/O Multiplexing,...

  • redis IO多路复用线程模型

    (2)redis的线程模型 1)文件事件处理器 redis 基于reactor模式开发了网络事件处理器,这个处理器...

  • EventLoopGroup的分析

    EventLoopGroup与Reactor 浅谈 Reactor 线程模型 单线程模型 问题:当handler1...

网友评论

      本文标题:Redis与Reactor

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