- 博客(19)
- 资源 (3)
- 收藏
- 关注
原创 Nginx架构浅析
文章目录Nginx架构浅析1.Nginx基础架构2.Master进程2.1核心逻辑2.2热更2.2.1热重载-配置热更2.2.2热升级-程序热更3.Worker进程3.1核心逻辑3.2事件驱动-epoll3.3惊群3.4负载均衡4.思考4.1为什么不采用多线程模型管理连接?4.2为什么不采用多线程处理逻辑业务?Nginx架构浅析最近项目中使用了基于Nginx的OpenResty的框架,于是有了想学习了解Nginx相关内容的想法,现将一些理解撰写成文,和大家讨论一下。1.Nginx基础架构nginx启
2021-04-02 22:53:21 2790 4
原创 Lua5.3自动GC触发条件分析与理解
目录1.GC触发过程2.过程详解2.1GCdebt2.2stepmul2.3pause3.总结参考资料在我的上一篇文章《Lua5.3版GC机制的学习理解》的4.2部分GC触发条件中,对这部分内容粗略的解释为:LuaGC是当lua使用的内存到达阀值时,自动触发。那么这篇文章将对这句描述,进行进一步的理解,并探讨一些GC参数的调节问题。1.GC触发过程1. lua在每次分配新的内存时,会主动检...
2018-12-28 10:02:57 5215 2
原创 Lua5.3版GC机制理解
目录1.Lua垃圾回收算法原理简述2.Lua垃圾回收中的三种颜色3.Lua垃圾回收详细过程4.步骤源码详解4.1新建对象阶段4.2触发条件4.3 GC函数状态机4.4标记阶段4.5清除阶段5.总结参考资料lua垃圾回收(Garbage Collect)是lua中一个比较重要的部分。由于lua源码版本变迁,目前大多数有关这个方面的文章都还是基于lua5.1版本,有一定的滞后性。因此本文通过参考当前...
2018-12-28 09:58:56 8559 4
原创 Nginx架构浅析PPT
《Nginx架构浅析》文章:https://blog.csdn.net/BigBrick/article/details/115409147《Nginx架构浅析PPT》下载:https://download.csdn.net/download/BigBrick/16361038
2021-04-03 11:28:01 820
原创 网络IO模型理解与分析
目录CPU (CentralProcessingUnit)物理CPU核心数逻辑CPU进程与线程1.单进程单线程模型2.单进程多线程模型3.多进程单线程模型4.多进程单线程模型网络编程中5种I/O模型阻塞型I/O非阻塞型I/OI/O多路复用回调机制信号驱动I/O异步I/O目前常见的服务端模型(多进程结合I/O多路复用)协程协程的运用总结在面对异步IO频繁的业务需求的时,可以使用回调的机制。在利用回...
2020-04-14 10:12:39 364
原创 php-redis中scan命令使用脚本
文章目录php-redis中scan命令使用脚本本文可执行脚本官方demodate:20200413php-redis中scan命令使用脚本项目中需要对某部分前缀的key进行迁移清洗,由于keys命令会造成redis阻塞,所以用scan进行匹配。目前的scan的demo样例存在各种问题,现贴出本文的可执行脚本目标:将满足前缀的key集合返回本文可执行脚本function matchTg...
2020-04-13 21:48:28 1184
原创 PHP-foreach中引用缺陷
目录1.现象2.原因3.分析近期使用php开发过程中,发现一个foreach中引用的小坑。1.现象如下代码:$arr = [1, 2, 4];foreach ($arr as &$a) { $a = $a * $a;}print_r($arr);foreach($arr as $a){ print_r($a); print(" ");}打印...
2020-04-02 12:39:03 226
原创 数据结构-栈与队列理解与实现
目录栈结构体源码实现队列结构体源码实现栈栈:只允许在一端进行插入或删除操作的线性表。通过只操作top从而实现先进后出的特点。结构体#define MaxSize 50 //定义栈中元素的最大个数typedef struct{ Elemtype data[MaxSize]; //存放栈中元素 int top; ...
2019-11-04 09:57:38 935
原创 数据结构-树与图
目录树结构体树的遍历源码实现图重点掌握内容数据结构中树与图的常用算法实现树树:是N(N>=0)个结点的有限集合。任意一颗非空树应满足:有且仅有一个特定的称为根的结点当N>1时,其余结点可分为m(m>0)个互不相交的有限集合T1,T2,…,Tm,其中每一个集合本身又是一颗树,并且称为根结点的子树树适合表示具有层次结构的数据。结构体typedef struc...
2019-11-04 09:55:46 1200
原创 系统学习-协程理解
目录CPU (CentralProcessingUnit)物理CPU核心数逻辑CPU进程与线程1.单进程单线程模型2.单进程多线程模型3.多进程单线程模型4.多进程单线程模型网络编程中5种I/O模型阻塞型I/O非阻塞型I/OI/O多路复用回调机制信号驱动I/O异步I/O目前常见的服务端模型(多进程结合I/O多路复用)协程协程的运用总结在面对异步IO频繁的业务需求的时,可以使用回调的机制。在利用回...
2018-12-28 09:56:34 269
原创 系统学习-C++内存分配
目录程序结构理解程序运行过程Stack区反汇编分析源码反汇编总结C++内存分配是一个很基础的问题,明白这个分配机制,有很多C++的问题都可以很容易理解。比如const成员变量为何需要利用构造函数初始化列表才能进行初始化;static关键字为什么可以改变存储属性;new/malloc的内存分配方式等。程序结构理解这是描述32位系统下程序大致内存结构的经典老图(64位类似,只是32位的图网上有...
2018-12-27 22:47:18 311
原创 数据结构-八大排序算法实现与分析
目录排序分类一览类型一 交换排序冒泡排序快速排序类型二 插入排序直接插入排序希尔排序类型三 选择排序简单选择排序堆排类型四 归并排序归并排序类型五 基数排序基数排序代码实现性能对比最近在面试过程中,发现很多公司还是很注重基础的,对于基本的排序要求掌握的比较扎实,能够任意写出各种排序,对各种排序性能进行比较,那就随手总结一下吧。排序分类一览类型一 交换排序冒泡排序特点:稳定,每一次都会...
2018-12-27 22:45:52 549
原创 Linux调试方法之core dump
目录core dump介绍0.测试程序如下1.打开core dump2.输出core dump3.执行该文件4.在终端输出core dump5.在gdb下输入bt最近面试的时候,被问到在linux下程序异常该怎么调试。经过学习才知道有core dump这种东西,随手记录。core dump介绍当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行...
2018-12-27 22:41:34 252
原创 SQL-基本学习III-数据库备份恢复
目录1备份核心思想C++代码实现将数据库拷贝至其他主机2恢复核心思想C++代码实现---采用第一种方法的原理最近在一个小项目中,遇到一个需求,客户希望能够提供数据库的备份与恢复的功能,发现当前的一些解决方案还是比较简单易行的,主要是通过现有的一些工具完成数据集的一个导入与导出。注意数据库与数据表的导入导出的方式还是有一定的区别的。数据表的导入导出可以利用SQL就可以完成。如下://导出s...
2018-12-27 22:39:10 258
原创 SQL-基本学习II-数据库引擎与索引
目录SQL语法编写Mysql的数据引擎Innodb与Myisam的区别关于索引索引的优点索引的缺点索引的实现原理 B树与B+树这是SQL的第二篇,结合一些被面试的内容,对常考的数据库问题进行一些总结。SQL语法编写重复数据的一组查询有一张person表,其中有p_id,p_name;一张house表,其中有h_id,address;一张hire表,其中有hh_id、h_id、p_id;h...
2018-12-27 22:37:08 355
原创 SQL-基本学习I-基本SQL语法与概念
目录1检索1.1基本检索1.1.1检索单个列1.1.2检索多个列1.1.3检索所有列1.1.4检索不同的值1.1.5限制结果1.2排序检索1.2.1按单个列排序1.2.2按多个列排序1.2.3按列序号进行排序1.2.4降序排序1.3过滤检索1.3.1使用where子句1.3.2where子句操作符号1.3.3组合where子句1.3.4使用IN1.3.5使用LIKE1.4处理检索1.4.1创建计算...
2018-12-27 22:34:51 403
原创 Linux网络基本信息配置
目录1.linux网络基本配置命令1.1 IP信息1.2路由信息1.3DNS信息2.双IP配置方法方法一方法二今天在项目搭建中,遇到一个需要给服务器配置双IP的情况,记录一下解决方法。1.linux网络基本配置命令1.1 IP信息ip a根据上诉显示的网卡信息,修改对应的网卡配置文件(eth3为例)vim /etc/sysconfig/network-scripts/ifcfg-e...
2018-12-27 22:32:10 309
原创 Github Pages+Hexo博客搭建极简版教程
目录1.环境安装1.1安装nodejs与git1.2检查是否安装成功2.安装hexo2.1安装命令2.2hexo初始化3.更换hexo主题4.github上创建仓库5.配置Deployment5.1首先配置本地的git的`user.name`与`user.email`,配置命令如下:5.2修改`_config.yml`文件中的`deploy`部分,内容可以参考上图。5.3安装插件5.4部署上传6....
2018-12-27 22:27:19 351
原创 考研往事
谨以此文来纪念考研的日子目录我的经历关于考研时间安排我的实际情况数学英语政治专业课关于其他的杂想1日出了拟录取名单,悬着的这颗心终于放下了,这大半年真的心好累…原本不知道要不要写些什么,毕竟初试分也不算高,而且已经有大神发了贴,基本的事情也就是那些,可是后来想想可能我的考研经历也比较特殊,当年也是听了一个学长的经历,才坚持了下来,在王道中受到了很多学长的帮助,觉得有必要把这份帮助传承下去,如...
2018-12-27 22:22:25 662
Lua设计与实现
2019-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人