摘要: ## 外键的变种: ```python 1:唯一索引:unique() create table t5(id int,numint,unique(num))engine=Innodb charset=utf8; 作用: num列的值不能重复 加速查找 create table t6(id int,num int,unique(id,n... 阅读全文
posted @ 2019-06-17 21:42 Python-Man 阅读(286) 评论(0) 推荐(0) 编辑
摘要: ## 数据库的操作: ```python 增加:create database 数据库名称; 例:create database db1; 删除:drop database 数据库名称; drop database db1; 修改: 没有专门的的指令,只能删了重建 查询: show databases; 使用: use 数据库名; #对表/列/记录的操作都必须先use 数据库... 阅读全文
posted @ 2019-06-17 21:38 Python-Man 阅读(373) 评论(0) 推荐(0) 编辑
摘要: ## 什么是数据库 ```python 数据库就是存储数据的 存储数据的方式1: "第一天就学习了一种存储数据的方式 就是变量 然而变量的存储介质是内存,内存中的数据在断电后就消失了,无法永久保存很明显这是不行的 ,比如用户刚刚注册成功的用户名密码必须要永久。 存储数据的方式2: """使用文件来存储数据就可以实现永久存储,但是文件是存储于硬盘上的,首先要考虑的就是效率问题一个应用程序... 阅读全文
posted @ 2019-06-17 21:36 Python-Man 阅读(190) 评论(0) 推荐(0) 编辑
摘要: ## 非阻塞IO及多路复用: ```python 存在的问题: ​ 当执行到recv时,如果对象并没有发送数据,程序阻塞了,无法执行其他任务 解决方案: ​1.多线程或多进程, ​ 当客户端并发量非常大的时候,服务器可能就无法开启新的线程或进程,如果不对数量加以限制 服务器就崩溃了 ​2. 线程池或进程池 ​ 首先限制了数量 保证服务器正常运行,但是... 阅读全文
posted @ 2019-06-17 21:28 Python-Man 阅读(325) 评论(0) 推荐(0) 编辑
摘要: ## 线程回调 ```python 1,创建一个线程对象,线程对象的执行任务函数:task,task的参数是回调函数call_back,回调函数的参数是task的执行结果. def call_back(res): print("任务结果拿到了:%s" % res) def task(callback): # global res print("run") tim... 阅读全文
posted @ 2019-06-09 18:59 Python-Man 阅读(307) 评论(0) 推荐(0) 编辑
摘要: ## GIL锁: ```python 官方解释: ''' In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once. This lock is necessary mainly... 阅读全文
posted @ 2019-06-09 18:57 Python-Man 阅读(413) 评论(0) 推荐(0) 编辑
摘要: ## 守护进程 ```python def task(name=None,age=None): print("子进程为守护进程") time.sleep(5) print("守护结束",name,age) if __name__=="__main__": print("父进程开始") p=Process(target=task,kwargs={"name... 阅读全文
posted @ 2019-06-09 18:53 Python-Man 阅读(222) 评论(0) 推荐(0) 编辑
摘要: ## 守护进程 ```python def task(name=None,age=None): print("子进程为守护进程") time.sleep(5) print("守护结束",name,age) if __name__=="__main__": print("父进程开始") p=Process(target=task,kwargs={"name... 阅读全文
posted @ 2019-06-03 18:37 Python-Man 阅读(145) 评论(0) 推荐(0) 编辑
摘要: ## 进程及并发的产生 ```python 进程指的是正在运行的程序,是一系列过程的统称,也是操作系统在调度和进行资源分配的基本单位 并发,指的是多个任务同时被执行,并发编程指的是编写支持多任务并发的应用程序在。(看似同时执行,因为cpu得任务切换很快) '并行:是真正意义上的多任务同时被执行。 '进程这个概念来自于操作系统,没有操作系统就没有进程 # 操作系统的两个核心作用 1.为用户屏蔽了... 阅读全文
posted @ 2019-06-01 17:13 Python-Man 阅读(671) 评论(0) 推荐(0) 编辑
摘要: ## TCP粘包问题 ```python 粘包指的是数据与数据之间没有明确的分界线,导致不能正确读取数据! TCP协议也称之为流式协议(UDP称为数据报协议) 应用程序无法直接操作硬件,应用程序想要发送数据则必须将数据交给操作系统,而操作系统需要需要同时为所有应用程序提供数据传输服务,也就意味着,操作系统不可能立马就能将应用程序的数据发送出去,就需要为应用程序提供一个缓冲区,用于临时存放数据,... 阅读全文
posted @ 2019-06-01 17:12 Python-Man 阅读(273) 评论(0) 推荐(0) 编辑