高性能WEB开发

心欲无痕 发布的文章

September 26, 2018

MySQL千万级别的优化·中

都是工作经验之谈,以及一些测试环境的经验,仅供参考单列索引前提:假设在 v_record 表中存在 id 列的索引 1、WHERE 条件使用​ EXPLAIN SELECT * FROM v_record WHERE id = 2​ 结论:利用索引进行回表查询2、SELECT 字段使用​ SELECT 字段使用索引列的话,结果就是索引覆盖查询,EXPLAIN结果中Extr...
September 20, 2018

PHP高性能的AOP扩展-Xaop

在PHP语言的AOP扩展中,目前单单有一个 AOP-PHP,再也没有其他的扩展了,并且由于AOP-PHP扩展基于PHP5.2开发, 但是PHP7已经相对于5.2版本而言变化大大,导致AOP-PHP扩展需要进行多个设计上、代码上的重构等,这里应运而生了一款新的扩展AOP:Xaop,Xaop是利用Zend Engine引擎的一款AOP高性能扩展,不需要使用代理对象即可完成AOP切面,并且引入了注...
July 25, 2018

C语言实现简单的协程

协程是一种用户态的例程,用户可以自由的在多个协程之间进行切换,开销极小,因此在某些场合很适合,比方说系统资源紧张的情况下,并发量上来的前提下,如果使用协程,那么也可以进行一定量的并发处置。简单的协程利用 switch-case 实现:int fun() { static int i, state = 0; switch(state) { case 0...
July 24, 2018

PHP注解AOP使用

在PHP中,可以利用反射或者C层面直接操作文档注释来解析注解,本文从PHP扩展Xan展示利用注解的AOP编程用户需要先安装 Xan 扩展, 扩展下载地址:https://github.com/liqiongfan/xanAOP切面思想切面思想:将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低 模块间的耦合度,并有利于未来的可操作性和可维护性;AOP是...
July 19, 2018

PHP语言中foreach引用的 “坑”

foreach坑解读阅读下面的源代码,下面代码的运行结果并解析其中的缘由:$arr = [ 11, 22, 33 ]; foreach($arr as &$val) { echo $val . ' '; } echo PHP_EOL; foreach($arr as $val) { echo $val . PHP_EOL; }答案:11 22 33 11 22...
July 19, 2018

PHP语言global与static注意事项

global关键字大家都知道在 PHP 语言中有 global关键字,用以表示全局变量,其实 global内部就是将变量以引用进行处理,如:$var = 10; function get_global() { global $var; echo $var; // 10 $var = 80; } echo $var; // 80 get_global();...
July 19, 2018

HTTP常见状态码以及解析

状态码: 100100 Continue 继续。客户端应继续其请求状态码: 101101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议状态码: 200200 OK 请求成功。一般用于GET与POST请求状态码: 201201 Created 已创建。成...
July 19, 2018

WEB网络中的安全问题及防护

1、SQL注入问题相信大家面对这个问题的时候也是无语了,这里举个简单的示例,来演示SQL的安全性问题,后续碰到相应的问题的时候,我们会及时更新:假设用户使用账户username与密码passwd登陆当前的系统:SELECT * FROM user WHERE username = $username AND passwordd = $passwd;那么当我们用户输入账号admin,密码:33...
July 16, 2018

MySQL数据库优化篇章·上

一般的应用开发或多或少的涉及到了数据库,有使用MySQL、PostgreSQL、Oracle等,这里主要讲讲MySQL的优化经验,很多人都不知道怎么表述?很多都是说这个做过,那个做过,但是就是不知道怎么表达,其实大家可以从MySQL官网去看看文档的优化(第八章);好了,闲话不多说,从以下几个方面讲解:1、WHERE语句优化去掉多余的括号,如:将((a AND b) AND c OR (((a...