一、高并发框架相关概念 1.高并发是什么? 高并发、并发,通常是指并发访问。也就是在某个时间点,有多少个访问同时到来。 通常如果一个系统的日PV在千万以上,有可能是一个高并发的系统。 2.高并发的问题,我们具体该关心什么? QPS:每秒请求或者查询的数量,在互联网领域,指每秒响应请求数(指HTTP请求); 吞吐量:单位时间内处理的请求数量(通常由Q…
一、算法的概念 基本概念 解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 一个问题可以有很多中算法,每种算法都有不同的效率。 一个算法具有五个特征:有穷性、确切性、输入项、输出项、可行性 二、时间复杂度和空间复杂度的概念 算法评定 算法分析的目的在于选择合适算法和改进算法。 一个算法的评价主要从时间复杂…
一、MVC框架的基本原理:M(model 数据操作层)、C(controller 业务处理层)、V(view 视图层) 二、单一入口的工作原理 1.工作原理 用一个处理程序文件处理所有的HTTP请求,根据请求时的参数的不同区分不同模块和操作的请求 2.优势 可以进行统一的安全性检查 集中处理程序 3.劣势 URL不美观(URL重写) 处理效率会稍低…
一、SQL查询的安全方案 1.使用预处理语句防SQL注入,一般使用PDO处理 2.写入数据库的数据要进行特殊字符的转义 3.查询错误信息不要返回给用户,将错误记录到日志 注意:PHP端尽量使用PDO对数据库进行相关操作,PDO拥有对预处理语句很好的支持的方法,MySQLi也有,但是可扩展性不如PDO,效率略高于PDO,MySQL函数在新版本中已经趋…
一、分区表的原理 1.工作原理 创建表时使用 partition by 子句定义每个分区存放的数据,执行查询时,优化器会根据分区定义过滤那些没有我们需要数据的分区,这样查询只需要查询所需数据在的分区即可。 分区的主要目的是将数据按照一个较粗的粒度分在不同的表中,这样可以将相关的数据存放在一起,而且如果想一次性删除整个分区的数据也很方便。 2.适用场…
一、查找分析查询速度慢的原因 1.分析SQL查询慢的方法 记录慢查询日志 分析查询日志,不要直接打开慢查询日志进行分析,这样比较浪费时间和精力,可以使用pt-query-digest工具进行分析 2.使用 show profile set profiling = 1; 开启服务器上执行的所有语句检测消耗的时间,存到临时表中 show profile…
一、MySQL的关联更新UPDATE语句 1.关联更新 真题测试:有A(id,sex,par,c1,c2),B(id,age,c1,c2)两张表,其中A.id与B.id关联,现在要求写出一条SQL语句,将B中age>50的记录的c1,c2更新到A表中统一记录中的c1,c2字段中 解答: UPDATE A,B SET A.c1 = B.c1, …
一、MySQL索引的基础和类型 1.索引的基础 索引类似于书籍的目录,要想找到一本书的某个特定主题,需要先查找书的目录,定位对应的页码。 存储引擎使用类似的方式进行数据查询,先去索引当中找到对应的值,然后根据匹配的索引找到对应的数据行。 2.索引对性能的影响 优点: 大大减少服务器需要扫描的数据量 帮助服务器避免排序和临时表 将随机I/O变成顺序I…
一、MySQL数据类型 1.整数类型 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT 属性:UNSIGNED 2.实数类型 FLOAT、DOUBLE、DECIMAL DECIMAL存储比BIGINT更大的整数,可以存储精确的小数 FLOAT和DOUBLE类型支持使用标准的浮点进行近似计算 3.字符串类型 VARCHAR、…
一、linux常用命令 1.进程管理 w、top、ps、kill、pkill、pstree、killall 2.用户管理 id、usermod、useradd、groupadd、userdel 3.文件系统 mount、umount、fsck、df、du 4.系统关机和重启 shutdown、reboot 5.网络应用 curl、telnet、ma…