数据结构与算法二分查找算法数据有序排列Comparable将数据一分为二,从中间比较时间复杂度的对数概念。PHP的核心数据结构哈希表(hashtable)特点:支持k->v查询可以作为数组foreach线性遍历增删节点复杂度为O(1)复杂度key支持关联和索引数组value支持混合类型php四-tiersystemapplicationwebserverclietcSAPIapache2handlercgifast-cgiisapicliPHPZendAPIZendEngineopcode优化扫描转义被解释为opcode执行PHP7新特性空间运算符标量类型和返回值类型声明NULL合并操作常量数组匿名类Closure::call()filterunserialize()http三向握手四向挥手建立连接client发送withSyntcp报文给server服务器收到注册返回syn和ack的标志client返回ack断开连接client发送fin报文server发送ack表示已经收到server发送的fin消息,通知断开连接的区别客户端发送ack消息时的tcp和udp。tcp是面向连接的,两端建立连接时都需要确认。数据传输更可靠。数据传输效率低下。Udp是面向无连接数据传输的。快速数据传输是不可靠的框架。Laravel的设计模式工厂模式功能封装,统一入口,实例化对象,构建项目解耦,单例模式不重复创建对象,节省资源注册树模式数组结构存储对象,工厂实例化对象存储在注册树中,调用注册树的对象使用策略模式定义接口,不同的策略调用不同的逻辑适配器模式多种不同的逻辑调用统一适配器数据对象映射模式ORM观察者模式对象变化,所有监听它的对象都会收到通知并更新laravellifecycleindex.phpentrybootstarphttp/consolekernelerrorsmiddlewaresessionlogconfigenvironment...providersrouteMySQL数据结构二叉树红黑二叉树B树叶子节点存储数据B+数B+树每个叶子节点存储索引和下一个节点指针优化方案合适的数据类型优化配置uitable定长字符串代替变长字符串notnull省略匹配空值join代替子查询union代替临时表事务优化sql匹配相同字符类型避免自动转换导致索引失败避免使用sql中的函数查询日志索引解释分析sqlprofile分析耗时记录limit1范式字段原子性,不能再拆分主键依赖保证各列直接相关到主键列,而不是间接关联事务原子性一个事务要么成功要么失败持久化事务结束持久隔离通过事务的隔离级别对应不同的并发场景序列化):可以避免脏读的发生、不可重复读和幻读可重复读(repeatablereads):可以避免脏读和不可重复读的发生。读提交(readcommitted):可以避免脏读的发生。Readuncommitted(读未提交):最低级别,无论如何都不能保证。MyISAM和InnoDBInnoDB支持外键约束聚集索引支持事务行级锁。聚集索引存储行数据,触发辅助索引返回主键,然后通过主键获取数据,高计数聚合效率支持全文索引查询效率和优秀的非聚集索引索引存储数据行的地址,通过地址获取行,是辅助的,所以与主键索引分离.索引存储在.myi中,数据存储在.mydNoSQLredis数据类型,应用场景String单个元素的值数据容量高达512MB,适用于用户应用数据缓存,统计统计等功能。复杂对象数据列表的哈希存储和读取。快速增删改查,适用于消息队列集合数据唯一性,以及curd操作的时间复杂度为O(1)排序的集合加权消息队列,与set相比,每条数据多1分用于权重排序和并发线程数据security(盘点你记录的场景)数据库记录编号字段添加unsigned,避免写复数,数据库逻辑捕获异常,发生异常回滚。悲观锁思想数据库行级锁文件锁、redis锁乐观锁思想rediswatch队列高并发流量优化防盗链优化,杜绝恶意请求端优化页面静态队列OP缓存数据缓存数据库数据库缓存分库分表分区读写分离负载均衡服务器nginx反向代理
