Redis 单线程高性能,它所有的数据都在内存中,所有的运算都是内存级别的运算,而且单线程避免了多线程的切换性能损耗问题。redis利用epoll来实现IO多路复用,将连接信息和事件放到队列中,依次放到文件事件分派器,事件分派器将事件分发给事件处理器。 1.Redis数据结构及简单操作指令 Stri ...
分类:
其他好文 时间:
2019-09-01 18:35:28
阅读次数:
108
响应头和响应体是用两个换行分割的 sk.setblock(False) 不阻塞 host是IP 比如www.baidu.com也是host,IP地址也是 r,w,e=select.select() w是连接成功的socket对象 r是有数据返回的socket对象 IO多路复用:r,w,e=while ...
分类:
其他好文 时间:
2019-08-25 01:14:21
阅读次数:
96
1、setblocking(0):无数据(连接无响应;数据未返回)就报错 2、IO多路复用 ...
分类:
其他好文 时间:
2019-08-25 00:50:55
阅读次数:
73
IO分类 IO分类:阻塞IO,非阻塞IO,IO多路复用,异步IO等 阻塞IO 因为某种执行条件没有满足造成的函数阻塞 如:accept input recv等 处理IO的时间较长产生的阻塞状态 如:网络传输,大文件读写等 非阻塞IO 定义:通过修改IO属性行为,使原本阻塞的IO变为非阻塞的状态 设置 ...
分类:
其他好文 时间:
2019-08-20 22:14:29
阅读次数:
119
原文: http://blog.gqylpy.com/gqy/234 " 目录 一、IO模型介绍 二、阻塞IO(blocking IO) 三、非阻塞IO(non blocking IO) 四、多路复用IO(IO multiplexing) 五、异步IO(Asynchronous I/O) ...
分类:
其他好文 时间:
2019-08-16 23:11:47
阅读次数:
118
原文: http://blog.gqylpy.com/gqy/234 " 目录 一、IO模型介绍 二、阻塞IO(blocking IO) 三、非阻塞IO(non blocking IO) 四、多路复用IO(IO multiplexing) 五、异步IO(Asynchronous I/O) ...
分类:
其他好文 时间:
2019-08-16 20:51:43
阅读次数:
82
原文: http://blog.gqylpy.com/gqy/234 " 目录 一、IO模型介绍 二、阻塞IO(blocking IO) 三、非阻塞IO(non blocking IO) 四、多路复用IO(IO multiplexing) 五、异步IO(Asynchronous I/O) ...
分类:
其他好文 时间:
2019-08-16 20:31:41
阅读次数:
85
今日内容: 1,线程池 2,进程池 3,协程 4,IO 模型服务端要满足这三个条件: 1,24小时不间断的提供服务 2,能够支持高并发 3,要有固定的IP地址和端口在服务端这个地方会出现阻塞态情况: 阻塞IO 操作有: 1,链接循环 2,通信循环单线程实现高并发思路: 为了更好的提高程序的运行效率,... ...
分类:
编程语言 时间:
2019-08-15 23:13:24
阅读次数:
178
1、什么是I/O多路复用?? I/O复用无非就是多个进程共同使用一个I/O输入输出流。一旦发现进程指定的一个或者多个描述符可进行无阻塞IO访问时,它就通知该进程。 2、IO多路复用适用以下场合: (1) 当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2) 当一个客户 ...
分类:
系统相关 时间:
2019-08-06 14:14:36
阅读次数:
127
Python——IO多路复用之select模块epoll方法 使用epoll方法实现IO多路复用,使用方法基本与poll方法一致,epoll效率要高于select和poll。 .├── epoll_client.py├── epoll_server.py└── settings.py ...
分类:
编程语言 时间:
2019-08-01 13:06:35
阅读次数:
79