摘要:
一 了解select,poll,epoll 二 selectors模块 这三种IO多路复用模型在不同的平台有着不同的支持,而epoll在windows下就不支持,好在我们有selectors模块,帮我们默认选择当前平台下最合适的 基于selectors模块实现并发的FTP 参考:链接: https:
阅读全文
posted @ 2018-12-11 16:46
sunny-cheng
阅读(151)
推荐(0)
摘要:
Linux下的asynchronous IO其实用得不多,从内核2.6版本才开始引入。先看一下它的流程: 用户进程发起read操作之后,立刻就可以开始去做其它的事。而另一方面,从kernel的角度,当它受到一个asynchronous read之后,首先它会立刻返回,所以不会对用户进程产生任何blo
阅读全文
posted @ 2018-12-11 16:44
sunny-cheng
阅读(171)
推荐(0)
摘要:
IO模型比较分析 到目前为止,已经将四个IO Model都介绍完了。现在回过头来回答最初的那几个问题:blocking和non-blocking的区别在哪,synchronous IO和asynchronous IO的区别在哪。先回答最简单的这个:blocking vs non-blocking。前
阅读全文
posted @ 2018-12-11 16:44
sunny-cheng
阅读(116)
推荐(0)
摘要:
多路复用IO(IO multiplexing) IO multiplexing这个词可能有点陌生,但是如果我说select/epoll,大概就都能明白了。有些地方也称这种IO方式为事件驱动IO (event driven IO)。我们都知道,select/epoll的好处就在于单个process就可
阅读全文
posted @ 2018-12-11 16:43
sunny-cheng
阅读(184)
推荐(0)
摘要:
非阻塞IO(non-blocking IO) Linux下,可以通过设置socket使其变为non-blocking。当对一个non-blocking socket执行读操作时,流程是这个样子: 从图中可以看出,当用户进程发出read操作时,如果kernel中的数据还没有准备好,那么它并不会bloc
阅读全文
posted @ 2018-12-11 16:42
sunny-cheng
阅读(170)
推荐(0)
摘要:
一 Process对象的join方法 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况 情况一:在主进程的任务与子进程的任务彼此独立的情况下,主进程的任务先执行完毕后,主进程还需要等待子进程执行完毕,然后统一回收资源。 情况二:如果主进程的任
阅读全文
posted @ 2018-12-11 14:42
sunny-cheng
阅读(170)
推荐(0)
摘要:
为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。 什么是索引? 索引在MySQL中也叫做“键”,是存储
阅读全文
posted @ 2018-12-11 12:41
sunny-cheng
阅读(204)
推荐(0)
摘要:
一 索引未命中 并不是说我们创建了索引就一定会加快查询速度,若想利用索引达到预想的提高查询速度的效果,我们在添加索引时,必须遵循以下问题 1 范围问题,或者说条件不明确,条件中出现这些符号或关键字:>、>=、<、<=、!= 、between...and...、like、 大于号、小于号 不等于!=
阅读全文
posted @ 2018-12-11 12:41
sunny-cheng
阅读(174)
推荐(0)
posted @ 2018-12-11 12:32
sunny-cheng
阅读(132)
推荐(0)
摘要:
一 函数 MySQL中提供了许多内置函数,例如: 更多函数:中文猛击这里 OR 官方猛击这里 一 自定义函数 一 函数 MySQL中提供了许多内置函数,例如: 更多函数:中文猛击这里 OR 官方猛击这里 一 自定义函数 二 删除函数 三 执行函数 二 删除函数 三 执行函数
阅读全文
posted @ 2018-12-11 12:28
sunny-cheng
阅读(344)
推荐(0)
摘要:
存储过程 一 存储过程介绍 存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 使用存储过程的优点: 使用存储过程的缺点: 补充:程序与数据库结合使用的三种方式 二 创建简单存储过程(无参) 三 创建存储过程(有参) 四 执行存储过程 五
阅读全文
posted @ 2018-12-11 12:26
sunny-cheng
阅读(134)
推荐(0)
摘要:
一 介绍 之前我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢?这就用到了pymysql模块,该模块本质就是一个套接字客户端软件,使用前需要事先安装 二 链接、执行sql、关闭(游标) 三 execute()之sql注入 注意:符号--会注释
阅读全文
posted @ 2018-12-11 12:18
sunny-cheng
阅读(171)
推荐(0)
摘要:
Navicat 在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数据库 官网下载:https://www.navicat.com/en/products/navicat-for-mysql 网盘
阅读全文
posted @ 2018-12-11 12:16
sunny-cheng
阅读(176)
推荐(0)