请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

多路IO复用模型?

IO多路复用模型是:
多个客户端端发送socket数据过来,服务器不能保证客户端发送的数据一次性就帮所有数据发送过来,所以socket发送过来的数据可能是经过多次才能完成数据的发送。 那么就会存在一个情况,redis本身是一个单线程的,所以redis不采用IO复用模型,那么就会等待某一个socket数据全部发送完成,这样就会造成后续socket的阻塞,但是引入了IO复用模型之后,那么会有一个集合保存多个socket请求,并通过事件监听的模式来扫描这个socket集合,然后如果某一socket已全部发生了数据传输,那么就将这个socket请求取出来,交给对应的redis处理器去处理执行? 是否是这么理解?

正在回答 回答被采纳积分+3

1回答

翔仔 2019-05-23 00:50:13

同学好,感觉同学这里说的是Redis在发现操作系统不支持epoll等能力的时候用的select模式,而Redis多数情况下优先选择使用epoll,具体可以看看这个

https://blog.csdn.net/wxy941011/article/details/80274233


0 回复 有任何疑惑可以回复我~
  • 提问者 qq_简简单单_132 #1
    IO多路复用,  是找一个宿管大妈来帮你监视下楼的女生, 这个期间你可以些其他的事情. 例如可以顺便看看其他妹子,玩玩王者荣耀, 上个厕所等等.  IO复用又包括 select, poll, epoll 模式. 那么它们的区别是什么?
    3.1 select大妈    每一个女生下楼, select大妈都不知道这个是不是你的女神, 她需要一个一个询问, 并且select大妈能力还有限, 最多一次帮你监视1024个妹子
    3.2 poll大妈不限制盯着女生的数量,  只要是经过宿舍楼门口的女生, 都会帮你去问是不是你女神
    3.3 epoll大妈不限制盯着女生的数量, 并且也不需要一个一个去问.  那么如何做呢?  epoll大妈会为每个进宿舍楼的女生脸上贴上一个大字条,上面写上女生自己的名字,  只要女生下楼了, epoll大妈就知道这个是不是你女神了, 然后大妈再通知你.
    
    作者:凉拌姨妈好吃
    链接:https://www.jianshu.com/p/6a6845464770
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
    
    这个解释如何,老师,可以这么简单理解吗?
    回复 有任何疑惑可以回复我~ 2019-05-23 02:22:45
  • 提问者 qq_简简单单_132 #2
    是不是所有的IO复用模型, 都是找了一个第三方看管人来去监视是否可以处理这个socket的,只不过select, poll, epoll  这几种模式,他们监视的方式和效率不一样罢了
    回复 有任何疑惑可以回复我~ 2019-05-23 02:25:17
  • 翔仔 回复 提问者 qq_简简单单_132 #3
    是的,而且支持监听的句柄数不一样
    回复 有任何疑惑可以回复我~ 2019-05-23 23:27:48
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信