彻底理解 IO 多路复用实现机制( 七 )
Redis IO多路复用技术redis 是一个单线程却性能非常好的内存数据库 ,主要用来作为缓存系统 。redis 采用网络IO多路复用技术来保证在多连接的时候 ,系统的高吞吐量 。
为什么 Redis 中要使用 I/O 多路复用这种技术呢?
首先 , Redis 是跑在单线程中的 , 所有的操作都是按照顺序线性执行的 , 但是由于读写操作等待用户输入或输出都是阻塞的 , 所以 I/O 操作在一般情况下往往不能直接返回 , 这会导致某一文件的 I/O 阻塞导致整个进程无法对其它客户提供服务 , 而 I/O 多路复用 就是为了解决这个问题而出现的 。
redis的io模型主要是基于epoll实现的 , 不过它也提供了 select和kqueue的实现 , 默认采用epoll 。
select、poll、epoll之间的区别看完上面的文章 , 相信你可以回答出来了 。
epoll 水平触发(LT)与 边缘触发(ET)的区别?EPOLL事件有两种模型:
- Edge Triggered (ET) 边缘触发只有数据到来,才触发,不管缓存区中是否还有数据 。
- Level Triggered (LT) 水平触发只要有数据都会触发 。
文章持续更新 , 可以微信搜一搜「 一角钱技术 」第一时间阅读 ,本文 GitHub org_hejianhui/JavaStudy已经收录 , 欢迎 Star 。
推荐阅读
- 曾被京东物流效仿,让雷军花1亿拯救,如今欠7000万彻底出局
- 线下市场彻底“乱了”!小米宣布新规!华为捆绑加价行为迎争议
- 一波未平一波又起,我买个菜就欠了一笔贷款?美团这次彻底没话说
- 微软|外媒:微软将对Windows 10界面进行彻底改进 已招兵买马
- 华为P50真机图曝光:外形变化很彻底
- 京东7FRESH迎来彻底变革
- Windows 10等软件全部封杀 Flash彻底说再见
- 数据|新基建时代,高大全的数据管理解决方案是怎样“炼”成的?
- 尼康相机将于2021年底前彻底告别“日本产”
- 微信的一项更新,彻底让用户“反感”,这是要开启直播时代?