201906-20 专业解决 MySQL 查询速度慢与性能差! HOT QueriesPerSecond意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 继续阅读 >
201906-19 图解 Docker 架构 HOT 1 用户是使用 Docker Client 与 Docker Daemon 建立通信,并发送请求给后者。 2 Docker Daemon 作为 Docker 架构中的主体部分,首先提供 Docker Server 的功能使其可以接受 Docker Client 的请求。 继续阅读 >
201906-19 关于 MySQL 通用查询和慢查询日志,看这篇就够了! HOT 1、通用查询日志:记录建立的客户端连接和执行的语句。2、慢查询日志:记录所有执行时间超过longquerytime秒的所有查询或者不使用索引的查询一、通用查询日志在学习通用日志查询时,需要知道两个数据库中的常用命令:1)showvariableslike‘%general%’;可以查看,当前的通用日志查询是否开启,如果general_log的值为ON则为开启,为OFF则为关闭(默认情况下是关闭的)。2)showvariableslike‘%log_output%’;... 继续阅读 >
201906-19 大牛是怎么思考设计SQL优化方案的? 在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。 继续阅读 >
201906-19 Nginx常见故障502等解决方案汇总 HOT 网站的访问量大,而php-cgi的进程数偏少。 针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/etc/php-fpm.conf 文件,将其中的max_children值适当增加。这个数据要依据你的VPS或独立服务器的配置进行设置。一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多。 /usr/local/php/sbin/php-fpm restart 然后重启一下 继续阅读 >
201906-18 提高工作效率的7个 Vim 使用技巧 HOT vim 是个非常高效、非常好用的工具,很多人一旦开始使用 Vim 之后就再也无法自拔。然而, Vim 仍然有其自身缺陷,对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性。 继续阅读 >
201906-18 PHP性能优化利器:生成器 yield理解 HOT 直接讲概念估计你听完还是一头雾水,所以我们先来说说优点,也许能勾起你的兴趣。那么生成器有哪些优点,如下: 生成器会对PHP应用的性能有非常大的影响 PHP代码运行时节省大量的内存 比较适合计算大量的数据 继续阅读 >
201906-18 【底层原理】进程与线程的一个简单解释 HOT 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 继续阅读 >
201906-17 Yii2框架启动流程解读 HOT Yii2虽然是一个以简单著称的框架,但它的启动流程却有点复杂.想要用好这个框架,启动流程必须烂熟于心.尤其当你开发Yii2的扩展(Extension)时,或者将自己已有的扩展运用到Yii2开发的项目中时,你可能会通过composer安装,然后在应用中通过各种手段参与框架的整个流程,这时,了解整个框架的启动流程就很重要. 继续阅读 >
201906-17 PHP实现用户注册、验证邮箱激活功能示例 HOT 注册邮箱激活流程 1、用户注册 2、插入用户数据,此时帐号未激活状态。 3、将用户名密码或其他标识字符加密构造成激活识别码(你也可以叫激活码)。 4、将构造好的激活识别码组成URL发送到用户提交的邮箱。 5、用户登录邮箱并点击URL,进行激活。 6、验证激活识别码,如果正确则激活帐号。 继续阅读 >
201906-15 PHP打造智能识别收货地址信息 HOT 主要思路分两种,一种是用户正常输入全地址,则顺序按地区等级匹配地址;另一种用户非正常输入(省市区有缺少的),则全面模糊搜索表,再根据结果对比原地址。 继续阅读 >
201906-15 数据库并发控制,选择乐观锁还是悲观锁? HOT 实际生产环境里边,如果并发量不大,完全可以使用悲观锁定的方法,这种方法使用起来非常方便和简单。但是如果系统的并发非常大的话,悲观锁定会带来非常大的性能问题,所以就要选择乐观锁定的方法。 继续阅读 >
201906-15 一些实用的 Laravel 小技巧 HOT 网站一般都有侧栏,用来显示分类,标签,热门文章,热门评论啥的,但是这些侧栏都是相对独立的模块,如果在每一个引入侧栏的视图中都单独导入与视图有关的数据的话,未免太冗余了。。。所以最佳的做法是:新建一个 widgets 视图文件夹,再利用 Laravel 的 ViewComposers 单独为侧栏绑定数据,这样侧栏就可以随便引入而不用关心数据是否绑定啦~~~ 继续阅读 >
201906-15 负载均衡、分布式、集群的理解以及多台服务器代码如何同步 我们的项目如果跑在一台机器上,如果这台机器出现故障的话,或者用户请求量比较高,一台机器支撑不住的话。我们的网站可能就访问不了。那怎么解决呢?就需要使用多台机器,部署一样的程序,让几个机器同时的运行我们的网站。那怎么怎么分发请求的我们的所有机器上。所以负载均衡的概念就出现了。 继续阅读 >
201906-14 Nginx+PHP+FastCGI加速模式 当HTTP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。 继续阅读 >
201906-14 MySQL 数据库优化,看这篇就够了 前言数据库优化一方面是找出系统的瓶颈,提高MySQL数据库的整体性能,而另一方面需要合理的结构设计和参数调整,以提高用户的相应速度,同时还要尽可能的节约系统资源,以便让系统提供更大的负荷.1、优化一览图2、优化笔者将优化分为了两大类,软优化和硬优化,软优化一般是操作数据库即可,而硬优化则是操作服务器硬件及参数设置.2.1软优化2.1.1查询语句优化1、首先我们可以用EXPLAIN或DESCRIBE(简写:DESC)命令分析一条... 继续阅读 >
201906-14 Nginx服务优化(隐藏版本号、修改用户和组、设置链接超时) HOT Nginx服务优化可以从隐藏版本号、更改用户与组、配置网页缓存时间、日志切割、设置连接超时这几个方面进行优化。 继续阅读 >
201906-14 Swoole和Redis实现的并发队列处理系统 由于PHP不支持多线程,但是作为一个完善的系统,有很多操作都是需要异步完成的。为了完成这些异步操作,我们做了一个基于Redis队列任务系统。 大家知道,一个消息队列处理系统主要分为两大部分:消费者和生产者。 在我们的系统中,主系统作为生产者,任务系统作为消费者。 继续阅读 >
201906-13 面试官:Redis 是如何帮我们解决各种项目难题的? HOT 本篇着重从抽象层面来解释下redis的各项功能以及其存在的目的,而没有关心其具体的细节是什么。 从而可以聚焦于其解决的问题,依据抽象层面的概念可以使得我们在特定的场景下选择更合适的方案,而非局限于其技术细节。 继续阅读 >
201906-13 PHP实现日历签到,并实现累计积分功能 在网站开发过程中我们会经常用到签到功能来奖励用户积分,或者做一些其他活动。这次项目开发过程中做了日历签到,因为没有经验所有走了很多弯路,再次记录过程和步骤。 继续阅读 >
201906-13 Redis实战之限制操作频率 HOT 在业务开发的过程中,我们不断的参与各种业务场景的方案设计,往往很容易碰到很类似的场景,只不过当前所属的业务模块不一样,其实这些需求的本质是解决同一个问题,当我们遇到这种场景的时候,我们需要根据自己经验分析抽离出需求的本质问题,实现一个通用的解决方案,这可能就是区别于你是有灵魂的工程师还是cp(copy paste)最强王者吧。 继续阅读 >