多路IO复用模型?

来源:4-1 Redis简介

qq_简简单单_132

2019-05-22

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

写回答

1回答

翔仔

2019-05-23

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

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


0
3
翔仔
回复
qq_简简单单_132
是的,而且支持监听的句柄数不一样
2019-05-23
共3条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程