202009-03 laravel 管道及中间件源码分析 HOT 管道(包洋葱的概念)在laravel 中是将要执行的控制器的方法做为洋葱心,而多个中间件(中间件提供了一种方便的机制过滤进入应用程序的 HTTP 请求。)做为洋葱皮的概念。 核心知识点:返回闭包函数、开始包洋葱: array_reduce() 继续阅读 >
202009-03 php实现数据结构的单向链表 HOT 链表是以链式存储数据的结构,其不需要连续的存储空间,链表中的数据以节点来表示,每个节点由元素(存储数据)和指针(指向后继节点)组成。 继续阅读 >
202009-02 Redis面试常见问题 HOT 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储 层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。 继续阅读 >
202009-02 Laravel 基于redis队列的解析 HOT 注意, 上述使用 Lua 脚本的目的在于操作的原子性, Redis 是单进程单线程模式, 以Lua脚本形式执行命令时可以确保执行脚本的原子性, 而不会有并发问题。 继续阅读 >
202008-31 Swoole 实现协程基本概念和底层原理 HOT 协程可以理解为纯用户态的线程,其通过协作而不是抢占来进行切换,相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低,Swoole 可以为每一个请求创建对应的协程,根据 IO 的状态来合理的调度协程。 继续阅读 >
202008-31 PHP代码简洁之道——SOLID原则 HOT 虽然OOP设计需要遵守如上原则,不过实际的代码设计一定要简单、简单、简单。在实际编码中要根据情况进行取舍,一味遵守原则,而不注重实际情况的话,可能会让你的代码变的难以理解! 继续阅读 >
202008-28 PHP-FPM进程模型 HOT 先说一下PHP-FPM的进程模型,PHP-FPM采用的是Master/Worker进程模型。当PHP-FPM启动时,会读取配置文件,然后创建一个Master进程和若干个Worker进程(具体是几个Worker进程是由php-fpm.conf中配置的个数决定)。Worker进程是由Master进程fork出来的。 继续阅读 >
202008-28 Docker跨主机通信网络 HOT 跨主机网络方案包括:docker原生的 overlay 和 macvlan。 第三方方案:常用的包括flannel、weave 和 calico。 继续阅读 >
202008-27 Windows 10 现在仍然可以免费下载安装!附教程 HOT 软对Windows 7的支持已经在1月结束了,这意味着微软希望那些顽固的用户升级到Windows 10,以确保设备安全平稳运行。 如果你有一台旧电脑或者笔记本仍然是Windows 7系统,那么可以到微软官网花钱购买Windows 10进行升级。但实际上,这笔钱完全可以省下来。 继续阅读 >
202008-27 Redis 之 RESP 协议 HOT Redis 的客户端和服务端之间在 TCP 协议的上层采用一种独立名为 RESP(REdis Serialization Protocol) 协议作为进行通讯的标准方式。 继续阅读 >
202008-27 php 自动加载原理 HOT 说起PHP的自动加载,我们可能马上想到的是各种框架的自动加载功能,PHP规范中的PSR0和PSR4原则, Composer 的自动加载功能等等。 继续阅读 >
202008-27 php多进程单线程之php-cgi、php-fpm HOT php从代码级别的执行上是单线程的, 但是由php-fpm进程管理机制是多进程单线程的, 也就是php是多进程执行的. 有效提高并发的响应效率。 了解关于cgi、fastCGI、php-cgi、php-fpm的概念更能加深理解。 下面是我查阅大量资料后整理的关系图供大家参考,也欢迎留言一起讨论。 继续阅读 >
202008-27 docker中安装php的mysqli及pdo扩展(模块) HOT 如执行报错, 系统会给出相应的原因及解决方法, 可根据提示完成. 实例:/usr/local/bin/docker-php-ext-install mysqli pdo pdo_mysql 继续阅读 >
202008-20 SQL 查询语句先执行 SELECT?兄弟你认真的么? HOT SQL 查询的执行顺序是怎样呢? 好像这个问题应该很好回答,毕竟自己已经写了无数个 SQL 查询了,有一些还很复杂的。还装不了这个逼了?! 继续阅读 >