HaoDu Blog

我干了什么 究竟拿了时间换了什么

MySQL 慢查询优化之-降序索引

MySQL Slow Query Optimization - Descending Index

起因 查看 php-fpm 慢日志时发现有个方法频繁超时(默认超时时间为 10s),通过本地及生产访问,猜测是 MySQL 慢查询问题。 找到阿里云后台 平均执行 10+s,最长执行时长 50s……,阿里云这个建议点了之后一直转圈😓 开始优化 先来看一下表结构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 create table notificat...

PHP 魔术方法

PHP Magic Methods

说明 17 个方法 对象相关 5 __construct() __destruct() __clone() __toString() __invoke() 序列化 4 __serialize() __unserialize() __sleep() __wakeup() 属性重载 4 __get() __set() __isset() __unset() 方法重载 2 __call() ...

MySQL 分页优化

MySQL limit offset optimize

原理 1 2 3 select * from user limit 10000,10; 执行过程: 1.全表扫描,取出 10000 + 10 行 2.舍弃掉前 10000 (offset) 行,留下 10 行 问题 当表的数据足够多,页数足够的大的时候,将造成性能浪费,降低效率。 优化 条件筛选(强制走索引) laravel 中的 chuckById 就是这么做的 ...

Docker

Docker

why 为什么要用 docker 为了让一台机器服务足够多的开发者/项目,环境的复用性,开始是使用沙箱(语言沙箱),隔离开发者的运行目录 系统沙箱 两种方案 虚拟机方案,docker 方案(容器方案) 两者对物理机消耗不同 虚拟机方案是每个虚拟机都要有独立的 OS docker 是 在OS 上 跑 docker 引擎,引擎上跑所有不同容器 what docker 是什么,有哪些功能 h...

Hyperf

Hyperf

Hyperf 关于 hyperf controller 常驻内存,只会实例化一次,在基类构造函数中进行拦截无效(所以要用中间件) max_connect 是为了保护 db 的, 进程数 * max_connect <= 数据库支持最大连接数 command 和 job 不建议使用 Inject, 因为在启动项目,默……./////////max_connect///认实...

由 df 命令到 tmpfs

Linux-df-tmpfs

df 命令 经常使用 df 命令来查看硬盘使用情况,却不知道每行的详细含义 常用命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 df -h #以人类可读方式显示 [root@iZbp16gi5od1u0wwphfx4tZ api]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/vd...

Windows 子系统环境开发

Windows-Subsystem-Linux

起因 由于项目使用的 PHP 扩展的特殊性(第三方扩展,只有github 源码,只能源码安装,包括swoole 和其他一些),只能在类unix环境下编译安装运行,办公 PC 又是 windows,所以决定使用 windows子系统 经过 windows 子系统 (前提是windows10 必须是最新版,具体版本如下) 若要查看你的电脑上安装了哪个版本的 Windows 1...

动态规划

Dynamic Programming

题目 leetcode 0005 题 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 回文:正读反读一样,例如:上海自来水来自海上 示例 1: 1 2 3 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 1 2 输入: "cbbd" 输出: "bb" 示例 3: 1 2 3 4 输入...

滑动窗口算法

Sliding window

题目 leetcode 0003 题 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 1 2 3 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 1 2 3 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 1 2...

PHP Linked List

利用对象实现链表 单链表初始化类 1 2 3 4 5 6 7 8 9 10 /** * Definition for a singly-linked list. * / class ListNode { public $val = 0; public $next = null; function __construct($val) { $this...