1.Redis单进程: 单进程模型来处理客户端的请求。对读写等事件的响应是通过对epoll函数的包装来做到的。Redis的实际处理速度完全依靠主进程的执行效率。epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,它能 ...
分类:
其他好文 时间:
2019-07-06 00:38:05
阅读次数:
93
Netty线程模型 其中ChannelPiepline的设计模型采用的是Handler组成的责任链模型 blocking I/O 阻塞nonblocking I/O 非阻塞I/O multiplexing (select and poll) 多路复用signal driven I/O (SIGIO) ...
分类:
编程语言 时间:
2019-06-29 10:38:38
阅读次数:
99
这三种IO多路复用模型在不同的平台有着不同的支持,而epoll在windows下就不支持,好在我们有selectors模块,帮我们默认选择当前平台下最合适的,我们只需要写监听谁,然后怎么发送消息接收消息,但是具体怎么监听的,选择的是select还是poll还是epoll,这是selector帮我们自 ...
分类:
其他好文 时间:
2019-06-27 10:56:20
阅读次数:
124
下面都是以网络读数据为例 【2阶段网络IO】 第一阶段:等待数据 wait for data 第二阶段:从内核复制数据到用户 copy data from kernel to user 下面是5种网络IO模型 【阻塞blocking IO】 两阶段全程阻塞 recvfrom -> [syscall ...
分类:
其他好文 时间:
2019-06-26 09:32:55
阅读次数:
182
在select模块中, 有三种方法实现IO多路复用并发服务器 select poll epoll select的原理: 在多路复用的模型中,比较常用的有select模型和epoll模型。这两个都是系统接口,由操作系统提供。当然,Python的select模块进行了更高级的封装。 网络通信被Unix系 ...
分类:
编程语言 时间:
2019-06-21 18:35:38
阅读次数:
110
IP地址伪装和端口转发都属于NAT(网络地址转换)。地址伪装和端口转发的区别如下:IP地址伪装:通过地址伪装,NAT设备将经过设备的包转发到指定的接收方,同时将通过的数据包源地址更改为其NAT设备自己的接口地址。当返回的数据包到达时,会将目的地址修改为原始主机的地址并做路由。地址伪装可以实现局域网多个地址共享单一公网地址上网。类似于NAT技术中的端口多路复用(PAT)。IP地址伪装仅支持ipv4,
分类:
其他好文 时间:
2019-06-18 09:18:34
阅读次数:
1002
Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。 Redis快的主要原因是: 第一、二点不细讲,主要围绕第三点采用多路 I/O 复用技术来展开。 ...
分类:
其他好文 时间:
2019-06-15 20:31:20
阅读次数:
115
I/O多路复用(multiplexing)的本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪(一般是读就绪或写就绪),能够通知程序进行相应的读写操作。 select、poll 和 epoll 都提供的 IO 复用方式。 (1)select,poll实 ...
分类:
其他好文 时间:
2019-06-15 19:01:07
阅读次数:
113
select及触发方式 触发方式:1、水平触发 2、边缘触发 触发:达到某种情况发生某种状态 心得:阻塞是等待,IO是输入输出,I/O接口 select监听多链接 IO多路复用优势:同时可以监听多个链接 str(data_byte,'utf8') bytes(data,'utf8') select与 ...
分类:
其他好文 时间:
2019-06-15 11:38:21
阅读次数:
103
1. 先看下ADS1120的结构图,ADS1120是个比较奇葩的ADC模数转换器,因为比较适用于热电阻之类的温度采集器。看下图,有个MUX多路复用器,应该是选择两个差分信号去测试,通过输入多路复用器 (MUX) 实现的两个差分输入或四个单端输入,一个低噪声可编程增益放大器 (PGA),PGA,内部 ...
分类:
其他好文 时间:
2019-06-07 22:45:11
阅读次数:
397