在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

redis事件处理流程的案例分析

111次阅读
没有评论

共计 1758 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍了 redis 事件处理流程的案例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

前言:

我们知道 redis 服务器是一个事件驱动程序,它需要处理两类事件,分别是文件事件和时间事件。

那么 redis 事件处理流程是什么样的呢?我们一起来看看下面的图:

redis 事件处理流程的案例分析

aeMain 函数通过调用 aeProcessEvents 函数来进行文件事件和时间事件的调度和执行。aeEventLoop 中记录了事件相关的信息。首先通过 aeSearchNearestTimer 函数获取最短的时间事件的执行时间间隔 n,然后调用 aeApiPoll 函数获取监听到的套接字,最后执行与套接字向对应的事件处理函数 rfileProc 和 wfileProc,最后再执行时间事件函数 processTimeEvents

文件事件

Redis 的基于 Reactor 模式开发了自己的网络事件处理器,这个处理器被称为文件事件处理器(file event handler):

文件事件处理器使用 IO 多路复用程序来监听多个套接字,并根据套接字目前执行的任务为套接字关联不同的事件处理器

当被监听的套接字准备好执行连接应答(accept)、读取(read)、写入(write)、关闭(close)等操作,当文件事件产生时,这些文件事件处理器就会调用套接字之前关联好的事件处理器来处理事件

文件事件处理器的构成

(学习视频分享:redis 视频教程)

redis 事件处理流程的案例分析

文件事件的处理器

Redis 为文件事件编写了多个处理器:

连接应答处理器:当 Redis 服务器进行初始化是,程序会将这个连接应答处理器和服务监听套件字的 AE_READABLE 事件关联起来,当有客户端用 connect 函数连接服务器监听套接字是,套接字就会产生 AE_READABLE 事件,引发连接应答处理器执行,并执行相应的套接字应答操作

命令请求处理器:当一个客户端通过连接应答处理器成功连接到服务器之后,服务器会将客户端套接字的 AE_READABLE 事件和命令请求处理器关联起来,当客户端向服务器发送命令请求时,套接字就会产生 AE_READABLE 事件,引发命令请求处理器执行,并执行相应的套接字读入操作

命令回复处理器:当服务器有命令回复需要传递给客户端时,服务端会将客户端套接字的 AE_WRITABLE 事件和命令回复处理器关联起来,当客户端准备好接收服务器传回的命令回复时,就会产生 AE_WRITABLE 事件,引发命令回复处理器执行,并执行相应的套接字写入操作

一次完整的客户端与服务端连接事件

服务器监听套件字的 AE_READABLE 事件,当客户端发送连接请求产生 AE_READABLE 事件,服务端会对客户端的连接请求进行应答,将客户端套接字的 AE_READABLE 事件与命令请求处理器关联,客户端可以向服务端发送命令请求了

客户端向服务端发送一个命令请求,客户端套接字将产生 AE_READABLE 事件,引发命令处理器去执行,执行命令将产生相应的命令回复,服务端将客户端套接字的 AE_WRITABLE 事件与命令回复处理器关联

客户端尝试读取命令回复时,客户端套接字将产生 AE_WRITABLE 事件,触发命令回复处理器执行,当命令回复处理器将命令回复全部写入套接字之后,服务器就会接触客户端套接字的 AE_WRITABLE 事件与命令回复处理器之间的关联

时间事件

Redis 的时间事件分为定时事件和周期性事件。一个时间事件由三个属性组成:

id:服务器为时间时间创建的全局唯一 IDwhen:记录了时间时间的到达时间(毫秒精度的 UNIX 时间戳)timeProc:时间事件处理器

redis 事件处理流程的案例分析

服务器所有的时间事件都放在一个无序链表中,每当时间事件执行器运行时,它就遍历整个链表,查找所有已到达的时间事件,并调用相应的事件处理器。正常模式下的 Redis 服务器只使用 serverCron 一个时间事件,而在 benchmark 模式下,服务器也只使用两个时间事件,所以不影响事件执行的性能。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“redis 事件处理流程的案例分析”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1758字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 久久国产视频精品 | 免费观看欧美一级高清 | 高清无码一区二区在线观看吞精 | 美女毛片网站 | 国产成人无码区免费内射一片色欲 | 亚洲精品日韩一区二区电影 | 国内不卡1区2区 | 欧美色99 | 亚洲精品国产字幕久久不卡 | 永久黄网站色视频免费 | 在教室伦流澡到高潮hnp视频 | 人人人妻人人澡人人爽欧美一区 | 亚洲成成品网站源码中国有限公司 | 色爱综合区 | 香蕉碰碰人人a久久动漫精品 | 青青操国产视频 | 亚洲精品国产精品国自产网站 | 秋霞午夜视频在线观看 | 精品免费久久 | 手机在线免费观看毛片 | 中文字幕免费在线视频 | 国产亚洲精品久久久久久无挡照片 | 国产尤物av尤物在线观看 | av不卡国产在线观看 | 久久久香蕉| 四虎永久视频 | 国产国拍亚洲精品mv在线观看 | 综合久久给合久久狠狠狠97色 | 四虎免费在线 | 国产91素人搭讪系列天堂 | 精品无码av无码专区 | 久久婷婷久久一区二区三区 | 成人综合激情网 | 99视频在线精品免费 | 九九热线有精品视频86 | 亚洲午夜一区二区三区 | 91老司机在线 | 少妇厨房愉情理伦片bd在线观看 | 亚洲精品无码久久久影院相关影片 | 经典国产一级毛片 | 国产黄色高清视频 |