• PHP解决高并发问题
  • 首先,这篇文章不是我写的。选自于网上,我是觉得写的很不错。虽然我想标明出自哪里,但是网上很多这一个版本的文章,都标明原创。我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键。举个例子,我们假设处理一个业务请求平均响应时间为100ms,同时,系统内有20台Apache的Web服务器,配置MaxClients为500个(表示Apache的最大连接数目)。 那么,我们的Web系统的理论峰值QPS为...
  •  2019-02-18  |    程成  |    87  |    0  |    PHP  |   PHP  高并发  秒杀  
  • 什么是数据库?什么是关系型数据库?什么是非关系型数据库?
  • 本文内容:什么是数据库什么是关系数据库什么是非关系型数据库  PS:虽然这些东西都是一些比较基础常识的东西,但为了记录自己的学习之路,也为了为以后的一些突发奇想留下“坑”,所以写下了这篇博文。什么是数据库? 数据库是数据的仓库。与普通的“数据仓库”不同的是,数据库依据“数据结构”来组织数据,因为“数据结构”,所以我们看到的数据是比较“条理化”的(比如不会跟以前的普通文件存储式存储成一个文件那么不条理化,我们的数据库分成一个个库,分成一个个表,分成一条条记录,这些记录...
  •  2019-02-14  |    程成  |    44  |    0  |    数据库  |   数据库  关系型  SQL  
  • PHP 中 empty(),isset(),is_null() 使用区别
  • 开发 PHP 也有几年了,突然发现 empty(),isset(),is_null() 也不是那么明白。虽然之前查过使用区别,但是经常会忘记。。这次结合实例测试,记忆应该会深刻点。测试代码如下:$a; $b = false; $c = ''; $d = 0; $e = null; $f = array(); 一、empty() 实例测试var_dump...
  •  2019-02-14  |    程成  |    64  |    0  |    PHP  |   PHP  empty  isset  is_null  
  • MySQL 中 int(11) 代表什么意思
  • 一、前言在工作中经常要与mysql打交道,但是对mysql的各个字段类型一直都是一知半解,因此写本文总结记录一番。二、简介对于int类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的int(11)代表什么意思,很长时间以来我都以为这代表着限制int的长度为11位,直到有天看到篇文章才明白,11代表的并不是长度,而是字符的显示宽度,在字段类型为int时,无论你显示宽度设置为多少,int类型能存储的最大值和最小值永远都是固定的,这里贴一些原文片段The number in the pa...
  •  2019-02-13  |    程成  |    54  |    0  |    数据库  |   MySQL  int  整型  数据库  
  • HTTP 协议中 PUT 和 POST 使用上的区别
  • 有的观点认为,应该用POST来创建一个资源,用PUT来更新一个资源;有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源;还有的观点认为可以用PUT和POST中任何一个来做创建或者更新一个资源。这些观点都只看到了风格,争论起来也只是争论哪种风格更好,其实,用PUT还是POST,不是看这是创建还是更新资源的动作,这不是风格的问题,而是语义的问题。 在HTTP中,PUT被定义为idempotent的方法,POST则不是,这是一个很重要的区别。 “Methods ca...
  •  2019-02-13  |    程成  |    50  |    0  |    前端技术  |   HTTP   PUT  POST  协议  
  • composer基本用法
  • 安装安装 Composer,你只需要下载 composer.phar 可执行文件。curl -sS https://getcomposer.org/installer | php要检查 Composer 是否正常工作,只需要通过 php 来执行 PHAR:php composer.phar这将返回给你一个可执行的命令列表。注意: 你也可以仅执行 --check 选项而无需下载 Composer。 要获取更多的信息请使用 --help。curl&n...
  •  2019-02-13  |    程成  |    51  |    0  |    PHP  |   composer  php  用法  
  • Mac 下 composer 如何安装
  • 安装 composercurl -sS https://getcomposer.org/installer | php安装成功如下图:测试是否安装成功:php composer.phar --version //Composer version 1.4.2 2017-05-17 08:17:52如果下载失败也不用纠结了,直接去手动下载合适的版本https://getcomposer.or...
  •  2019-02-12  |    程成  |    44  |    0  |    服务器  |   Mac  composer  linux  php  
  • Mac下/usr/local/bin No such file or directory问题解决
  • 当我在 Mac 环境下安装 Laravel 时候,要先安装 Composer ,但是在安装 Composer 时候却卡住了。执行 sudo mv composer.phar /usr/local/bin/composer 时,mac报错:/usr/local/bin No such file or directory 。分析原因,在finder中command+shift+G进入目录,确实也找不到 /usr/local/bin/composer ,包括在终端中也进不到该目录。参考:https:/...
  •  2019-02-12  |    程成  |    61  |    0  |    服务器  |   linux   composer  php  brew  
  • HTTP响应头和请求头信息对照表
  • HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。HTTP的头信息包括通用头、请求头、响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。通用头标:即可用于请求,也可用于响应,是作为一个整体而不是特定资源与事务相关联。请求头标:允许客户端传递关于自身的信息和希望的响应形式。响应头标:服务器和于传递自身信息的响应。实体头标:定义被传送资源的信息。即可用于请求,也可用于响应。HTTP Request Header 请求头Header解释示例Accept指定客户...
  •  2019-02-12  |    程成  |    39  |    0  |    前端技术  |   http  响应头  请求头  通用头  实体头  
  • PHP对象之深复制、浅复制理解
  • 先说一下深拷贝和浅拷贝通俗理解深拷贝:赋值时值完全复制,完全的copy,对其中一个作出改变,不会影响另一个浅拷贝:赋值时,引用赋值,相当于取了一个别名。对其中一个修改,会影响另一个PHP中, = 赋值时,普通对象是深拷贝,但对对象来说,是浅拷贝。也就是说,对象的赋值是引用赋值。(对象作为参数传递时,也是引用传递,无论函数定义时参数前面是否有&符号) php4中,对象的 = 赋值是实现一份副本,这样存在很多问题,在不知不觉中我们可能会拷贝很多份副本。php5中,对象的 = 赋值和...
  •  2019-02-11  |    程成  |    52  |    0  |    PHP  |   PHP  浅复制  深复制  对象  
  • PHP中 json_encode 和 serialize 区别
  • (1)serialize主要用于php的序列化,存储到文件或者数据库中,json_encode 也是序列化,但是 主要用于与其他语言比如js进行交互使用,对于传输来说,json有许多优点。(2)在显示上,serialize序列化的字符串包含额外的内容,这是值的类型和长度的编码(3)在进行 json_decode解码的时候需要注意,如果是序列化的数值型数组,那么json_decode 可以还原为原来的数组(数值型数组哦),但是,如果序列化的是关联数组(或者对象),那么由于json_decode无法...
  •  2019-02-11  |    程成  |    67  |    0  |    PHP  |   php  json  serialize  序列化