201907-12 PHP-FPM和Nginx的通信机制 HOT 由于 CGI 的机制是每处理一个请求需要 fork 一个 CGI 进程,请求结束再kill掉这个进程,在实际应用上比较浪费资源,于是就出现了CGI 的改良版本 FastCGI,FastCGI 在请求处理完后,不会 kill 掉进程,而是继续处理多个请求,这样就大大提高了效率。 继续阅读 >
201907-12 数据库分库分表,何时分?怎样分? HOT 数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到提升数据库操作性能的目的。 继续阅读 >
201907-12 数据库表连接的简单解释,图文并茂 HOT 实体指的是那些实际的对象,带有自己的属性,可以理解成一组相关属性的容器。关系就是实体之间的联系,通常可以分成"一对一"、"一对多"和"多对多"等类型。 继续阅读 >
201907-12 磁盘 IO 和网络 IO 的评估、监控与调优知识总结 HOT 很多情况下,客户端的响应时间不稳定都是由服务器端的服务能力不稳定造成的。一般情况下都是应用、数据库的问题造成。而本案例是操作系统层面答复ping出现间歇性延时,很容易误导我们的分析判断。 继续阅读 >
201907-12 PHP Opcache工作原理 HOT PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的工作。 而Opcache又是优化PHP性能不可缺失的组件,尤其是应用了PHP框架的项目中,作用更是明显。 继续阅读 >
201907-11 【开源组件】一份值得收藏的的 MySQL 规范 HOT 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)。 继续阅读 >
201907-11 解析PHP跳出循环的方法以及continue、break、exit的区别介绍 HOT PHP中的循环结构大致有for循环,while循环,do{} while 循环以及foreach循环几种,不管哪种循环中,在PHP中跳出循环大致有这么几种方式: 继续阅读 >
201907-11 php7.4重量级特性:预加载 HOT 生产环境中,绝大部分是开启了opcache。在第一个请求中代码文件会被编译之后存储到共享内存中,之后的请求直接从内存中取即可。因为opcache减少代码重新编译的开销,因此对性能是有很大的提高。 继续阅读 >
201907-10 你必须收藏的 GitHub 技巧 HOT GitHub Pages大家可能都知道,常用的做法,是建立一个gh-pages的分支,通过setting里的设置的GitHub Pages模块可以自动创建该项目的网站。 继续阅读 >
201907-09 最易懂的数据库异地多活方案 HOT 本文简单的讨论了数据库的异地多活的方案,我们认为,在单元化的方案中,同步是核心,稳定的同步是保证数据一致的关键,而这,在单个机房中,只需要通过简单的 RPC 即可解决,但在跨机房,跨城市的网络中,就显得尤为复杂。 继续阅读 >
201907-09 基于 Nginx 的 HTTPS 性能优化实践 HOT 目前云上的网络产品中能支持四层的都是可以继续兼容我们这套设计的,例如:SLB 的四层转发(TCP UDP)、DDOS高防的四层转发。 继续阅读 >
201907-09 分布式系统架构设计 HOT SOA全称(Service Oriented Architecture) 中文意思为 面相服务的架构,他是一种设计方法,轻重包含多个服务,服务之间通过相互依赖最终提供一系列的功能, 一个服务通常以独立的形式存在与操作系统进程中,各个服务之间通过网络调用。 继续阅读 >
201907-08 PHP 新特性:闭包和匿名函数,估计你用得很少 HOT 匿名函数就是没有名称的函数。匿名函数可以赋值给变量,还能像其他任何PHP对象那样传递。不过匿名函数仍是函数,因此可以调用,还可以传入参数。匿名函数特别适合作为函数或方法的回调。 继续阅读 >
201907-08 九种跨域方式实现原理(完整版) HOT CORS支持所有类型的HTTP请求,是跨域HTTP请求的根本解决方案。 JSONP只支持GET请求,JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。 不管是Node中间件代理还是nginx反向代理,主要是通过同源策略对服务器不加限制。 日常工作中,用得比较多的跨域方案是cors和nginx反向代理。 继续阅读 >
201907-08 使用array_diff优雅的删除数组中指定的value值 HOT 此处不能使用 if(names中的键名;然后使用unset删除;为了严谨还得判断李四是否存在;¨G1G这里有个坑是为了避免要删除的值在数组第0个位置的时候;此处不能使用if(key) 来判断; 继续阅读 >
201907-08 PHP的闭包和匿名函数你用过嘛 HOT 匿名函数就是没有名称的函数。匿名函数可以赋值给变量,还能像其他任何PHP对象那样传递。不过匿名函数仍是函数,因此可以调用,还可以传入参数。匿名函数特别适合作为函数或方法的回调。 继续阅读 >
201907-08 Swoole异步投递task任务 HOT Swoole的task模块可以用来做一些异步的慢速任务、耗时场景。把这些任务丢给task进程之后,worker进程可以继续处理新的数据请求,任务完成后会异步通知worker进程告诉它此任务已经完成。此外利用task还可以实现PHP的数据库连接池,异步队列等。 继续阅读 >
201907-06 workman 和swoole 有哪些区别和异同 HOT 当我们业务代码以同步阻塞方式来使用swoole和workerman的时候,swoole则很想nginx+fpm的二合一体,而workerman则只相当于nginx,这就是区别啦! 继续阅读 >