Redis原理之网络模型笔记

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。Redis原理之网络模型笔记,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

目录

1. 阻塞IO

 2. 非堵塞IO

 3. IO多路复用

​3.1 select

 3.2 poll

3.3 epoll

 4. 信号驱动IO

5. 异步IO 

 6. Redis是单线程还是多线程


Redis采用单线程模型,这意味着一个Redis服务器在任何时刻都只会处理一个请求。Redis的网络模型涉及到阻塞I/O(Blocking I/O)、非阻塞I/O(Non-blocking I/O)、I/O多路复用(I/O Multiplexing)、信号驱动I/O(Signal-driven I/O)以及异步I/O(Asynchronous I/O)。

Redis原理之网络模型笔记

1. 阻塞IO

  • 在阻塞I/O模型中,当一个I/O操作发生时,整个进程会被阻塞,直到I/O操作完成为止。
  • 在Redis的网络模型中,当执行一次命令或操作时,可能会涉及到与客户端的通信,这时Redis的主线程会被阻塞。

Redis原理之网络模型笔记

 2. 非堵塞IO

  • 在非阻塞I/O模型中,当一个I/O操作发生时,进程不会被阻塞,而是继续执行其他操作。进程需要通过轮询来检查I/O操作是否完成。

Redis原理之网络模型笔记

 3. IO多路复用

  •  I/O多路复用允许单一的进程或线程管理多个套接字。通过select、poll、epoll等机制,可以同时监听多个套接字上的I/O事件。
  • Redis使用了I/O多路复用来同时监听多个客户端连接的事件,这样单个线程可以处理多个连接。

Redis原理之网络模型笔记

Redis原理之网络模型笔记

Redis原理之网络模型笔记 3.1 select

Redis原理之网络模型笔记

 3.2 poll

Redis原理之网络模型笔记

3.3 epoll

epoll是Linux提供的最新、最高效的I/O多路复用机制。它引入了三个系统调用:epoll_create(创建一个epoll实例)、epoll_ctl(注册或注销文件描述符)和epoll_wait(等待事件的发生)。

Redis原理之网络模型笔记

 Redis原理之网络模型笔记

 4. 信号驱动IO

Redis原理之网络模型笔记

5. 异步IO 

特点: 异步I/O允许一个I/O操作启动后,应用程序可以继续执行其他任务,而不必等待I/O操作完成。当I/O操作完成时(就绪和数据拷贝完成),应用程序会得到通知。

Redis原理之网络模型笔记

Redis原理之网络模型笔记

 6. Redis是单线程还是多线程

Redis原理之网络模型笔记

Redis原理之网络模型笔记 

Redis原理之网络模型笔记

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/196936.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!