文章目录
问答整理-小知识点类之间有哪些种关系哈希碰撞 且 开放寻址 之后,如何delete和查找?Mysql的引擎种类Epoll的水平触发(LT)与边缘触发(ET)Mysql的索引找出Email中的重复行Falsk的 app.context 和 requests.contextRedis的String(字符串)类型的Value最大能存多少Redis的列表如何实现的Python内存回收机制Python如何管理进程
问答整理-小知识点
类之间有哪些种关系
继承关系依赖关系关联关系(一对一,一对多)
哈希碰撞 且 开放寻址 之后,如何delete和查找?
可略过
Mysql的引擎种类
MyISAM引擎:
不支持事务、也不支持外键优势:访问速度快,不要求事务完整性 或 以select,insert为主的操作3种存储格式:静态表,动态表,压缩表
静态表:固定长度字段动态表:变长字段压缩表:每个记录是被单独压缩的,访问开支小
InnoDB引擎:
事务安全(提交、回滚和崩溃恢复能力)对比MyISAM,写的处理效率稍差,并且占用更多的磁盘空间以保留数据和索引特点:支持自动增长列,支持外键约束。
MERGE引擎:其实MERGE表本身并没有数据,CURD实际上是对内部的MyISAM表进行操作。
MEMORY引擎:
存在内存(服务器一关闭数据就丢失),默认用Hash索引,访问非常快主要用于 保存中间结果
Epoll的水平触发(LT)与边缘触发(ET)
(https://blog.csdn.net/lihao21/article/details/67631516)
水平触发:只要内核缓冲区中还有未读数据,就会一直返回描述符的就绪状态,即不断地唤醒应用进程。边缘触发:缓冲区从不可读变成可读,会唤醒应用进程,缓冲区数据变少的情况,则不会再唤醒应用进程。
Mysql的索引
没索引,从第一条记录开始查哈希索引 和 B-Tree索引
B-Tree是二叉树吗? 哈希与B-Tree索引的比较:哈希(O(1))更快,但无法“like”模糊查询(因为Hash基于等值计算)
找出Email中的重复行
# 结果只能显示某一行有重复行,不能显示所有重复行号
SELECT * FROM Email
GROUP BY email
HAVING count(*) > 1
Falsk的 app.context 和 requests.context
app.context是关于应用的上下文requests.context是关于某一请求的上下文
Redis的String(字符串)类型的Value最大能存多少
string 类型的值最大能存储 512MB超过则无法存入Redis源码解析:Redis的string类型之512MB限制
Redis的列表如何实现的
LinkedList 链表Redis基本操作——List(原理篇)
Python内存回收机制
Python如何管理进程