开发者社区> 青衫无名> 正文

《Redis官方教程》- 事件库

简介:
+关注继续查看

为什么需要一个事件库(Event Library)?

让我们通过一系列Q&A来弄明白。

Q:你期望网络服务器都做些什么事情?
A:在它监听的端口上等待连接的到来,然后接收(accpet)它们。

Q:调用accept会产生一个描述符,我该怎么处理它?
A:先保存这个描述符,然后对它进行非阻塞(non-blocking)的读写(read/write)操作。

Q:为什么读写操作必须用非阻塞的方式呢?
A:如果服务器阻塞在文件(在Unix世界socket也是文件)I/O操作上,这期间它还怎么处理其他连接的请求呢?

Q:我想我必须在socket上做很多次非阻塞操作去看它什么时候准备好,是这样吗?
A:是的,这就是事件库为你所做的工作,现在你明白了。

Q:那事件库是怎么做到的呢?
A:使用操作系统的轮询(polling)机制以及定时器(timer)。

Q:有没有开源的事件库能完成你说的这些功能?
A:当然有,libeventlibev就是这样的事件库。

Q:Redis用开源事件库来处理Socket I/O吗?
A:不,因为一些原因Redis使用自己的事件库。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
React的事件处理函数
React 的事件名称都是使用驼峰标识(比如camelCase) 通过 JSX 可以传递一个函数作为事件处理 HTML: Activate Lasers React: ...
882 0
Apache Thrift 官方JAVA教程
本文所使用的开发环境是windows环境,利用的资源是官网给出的,只是网上搜了很多文章,都不是很明白,我把我自己的经历写出来分享给大家,大家互相学习,有好的建议,希望不吝赐教 1.
1827 0
搜狐视频Redis云平台Cachecloud开源-视频教程
              搜狐视频Redis云平台CacheCloud的github主页:https://github.com/sohutv/cachecloud          欢迎关注、star、拍砖     转载请注明出处哈:http://carlosfu.iteye.com          声明: 虽然录制的视频没有进行特别精心的准备,就是想到哪聊到哪,但是较为完整的介绍了CacheCloud的相关内容以及一些Redis的相关知识,希望对大家有帮助,不喜勿喷。
1429 0
Redis集群主从复制(一主两从)搭建配置教程【Windows环境】
Redis集群主从复制(一主两从)搭建配置教程【Windows环境】 由于本地环境的使用,所以搭建一个本地的Redis集群,本篇讲解Redis主从复制集群的搭建,使用的平台是Windows,搭建的思路和Linux上基本一致!  (精读阅读本篇可能花费您15分钟,略读需5分钟左右) Redis主.
1388 0
+关注
3598
文章
840
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载