分类: PHP

90 篇文章

thumbnail
PHP重点知识复习 – 高并发之CDN加速
一、什么是CDN CDN的全称是 Content Delivery Network ,即内容分发网络。 尽可能避开互联网上可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。 在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络 CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等…
thumbnail
PHP重点知识复习 – 高并发之浏览器缓存和数据压缩
一、HTTP缓存机制 启用浏览器缓存 1.缓存分类 HTTP缓存模型中,如果请求成功会有三种情况 (1)200 from cache:直接从本地缓存中获取响应,最快速,最省流量,因为根本没有向服务器发送请求 (2)304 Not Modified:协商缓存,浏览器在本地没有命中的情况下请求头中发送一定的校验数据到服务端,如果服务端数据没有改变浏览器…
thumbnail
PHP重点知识复习 – 高并发之减少HTTP请求次数
一、为什么要减少HTTP请求 性能黄金法则 只有10%-20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图片、js、css、flash等等)进行的HTTP请求上。 如何改善 改善响应时间的最简单途径就是减少组件的数量,并由此减少HTTP请求的数量。 HTTP连接产生的开销 域名解析--…
thumbnail
PHP重点知识复习 – 高并发之防盗链
一、什么是防盗链 1.盗链概念 盗链是指在自己的页面上展示一些并不在自己服务器的内容 获取他人服务器上的资源地址,绕过别人的资源展示页面,直接在自己的页面上向最终用户提供此内容。 常见的是小站盗用大站的图片、音乐、视频、软件等资源 通过盗链的方法可以减轻自己服务器的负担,因为真实的空间和流量均是来自别人的服务器 2.防盗链概念 防止别人通过一些技术…
thumbnail
PHP重点知识复习 – 高并发和大流量解决方案概述
一、高并发框架相关概念 1.高并发是什么? 高并发、并发,通常是指并发访问。也就是在某个时间点,有多少个访问同时到来。 通常如果一个系统的日PV在千万以上,有可能是一个高并发的系统。 2.高并发的问题,我们具体该关心什么? QPS:每秒请求或者查询的数量,在互联网领域,指每秒响应请求数(指HTTP请求); 吞吐量:单位时间内处理的请求数量(通常由Q…
thumbnail
PHP重点知识复习 – 常见算法(待完善)
一、算法的概念 基本概念 解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 一个问题可以有很多中算法,每种算法都有不同的效率。 一个算法具有五个特征:有穷性、确切性、输入项、输出项、可行性 二、时间复杂度和空间复杂度的概念 算法评定 算法分析的目的在于选择合适算法和改进算法。 一个算法的评价主要从时间复杂…
thumbnail
PHP重点知识复习 – MVC框架
一、MVC框架的基本原理:M(model 数据操作层)、C(controller 业务处理层)、V(view 视图层) 二、单一入口的工作原理 1.工作原理 用一个处理程序文件处理所有的HTTP请求,根据请求时的参数的不同区分不同模块和操作的请求 2.优势 可以进行统一的安全性检查 集中处理程序 3.劣势 URL不美观(URL重写) 处理效率会稍低…
thumbnail
PHP重点知识复习 – MySQL的安全性
一、SQL查询的安全方案 1.使用预处理语句防SQL注入,一般使用PDO处理 2.写入数据库的数据要进行特殊字符的转义 3.查询错误信息不要返回给用户,将错误记录到日志 注意:PHP端尽量使用PDO对数据库进行相关操作,PDO拥有对预处理语句很好的支持的方法,MySQLi也有,但是可扩展性不如PDO,效率略高于PDO,MySQL函数在新版本中已经趋…
thumbnail
PHP重点知识复习 – MySQL的高扩展和高可用(待完善)
一、分区表的原理 1.工作原理 创建表时使用 partition by 子句定义每个分区存放的数据,执行查询时,优化器会根据分区定义过滤那些没有我们需要数据的分区,这样查询只需要查询所需数据在的分区即可。 分区的主要目的是将数据按照一个较粗的粒度分在不同的表中,这样可以将相关的数据存放在一起,而且如果想一次性删除整个分区的数据也很方便。 2.适用场…
thumbnail
PHP重点知识复习 – MySQL的查询优化(待完善)
一、查找分析查询速度慢的原因 1.分析SQL查询慢的方法 记录慢查询日志 分析查询日志,不要直接打开慢查询日志进行分析,这样比较浪费时间和精力,可以使用pt-query-digest工具进行分析 2.使用 show profile set profiling = 1; 开启服务器上执行的所有语句检测消耗的时间,存到临时表中 show profile…