HTTP1.0/1.1/2.0/3.0本质对比 Posted on 2021-11-06 Edited on 2022-10-19 In 计算机网络 Symbols count in article: 433 Reading time ≈ 1 mins. HTTP1.0/1.1/2.0 HTTP1.0主要问题就是HTTP请求需要一个一个发,每次三次握手。并且不支持断点续传。 Read more »
基于ucontext的C++协程 Posted on 2021-11-06 Edited on 2022-10-19 In 协程 Symbols count in article: 1.8k Reading time ≈ 2 mins. 基于ucontext的协程ucontext是glibc下的组件,用来管理程序执行的上下文,重点是四个函数: 12345#include <ucontext.h>int getcontext(ucontext_t *ucp);int setcontext(const ucontext_t *ucp);void makecontext(ucontext_t *ucp, void (*func)(),int argc, ...);int swapcontext(ucontext_t *oucp, const ucontext_t *ucp); 在使用ucontext封装c++风格的轻量级协程的过程中,主要是干下面几件事: Read more »
InnoDB系列:事务 Posted on 2021-11-06 Edited on 2022-10-20 In MySQL Symbols count in article: 794 Reading time ≈ 1 mins. 扁平事务由begin开始,其中的操作是原子的,要么都执行,要么都回滚。 缺点:代价大,若中间某个条件不满足,需要全部回滚。 Read more »
InnoDB系列:体系结构 Posted on 2021-11-06 Edited on 2022-10-20 In MySQL Symbols count in article: 2k Reading time ≈ 2 mins. MySQL体系结构 Read more »
InnoDB系列:表结构 Posted on 2021-11-06 Edited on 2022-10-20 In MySQL Symbols count in article: 328 Reading time ≈ 1 mins. 表结构如图所示,Innodb表结构由表空间,段,区,页组成。默认所有数据在共享表空间ibdata1. Read more »
InnoDB系列:索引 Posted on 2021-11-06 Edited on 2022-10-20 In MySQL Symbols count in article: 888 Reading time ≈ 1 mins. B+树索引 聚集索引 非聚集索引(辅助索引) Cardinality 获取B+树叶子节点的数据,记为A 随机获得B+树索引中8个叶子节点。统计每个页不同记录的个数,分别记为P1,P2…P8 计算cardinality = (P1+P2+…P8)A/8 Read more »
InnoDB系列:锁 Posted on 2021-11-06 Edited on 2022-10-20 In MySQL Symbols count in article: 308 Reading time ≈ 1 mins. lock 和 latch的不同 Read more »
Linux内核系列:孤儿进程和僵尸进程 Posted on 2021-09-14 Edited on 2022-10-19 In Linux Symbols count in article: 4.6k Reading time ≈ 4 mins. 孤儿进程 基本概念:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。 Read more »
Linux内核系列:进程间通信 Posted on 2021-09-14 Edited on 2022-10-19 In Linux Symbols count in article: 11k Reading time ≈ 10 mins. 匿名管道适用场景:在父子线程间传递信息。核心是pipe函数,创建了全双工的两个文件描述符。下图来自APUE十五章。 Read more »
Linux网络编程:同步/异步,阻塞/非阻塞,IO复用 Posted on 2021-09-14 Edited on 2022-10-19 In Linux Symbols count in article: 2.3k Reading time ≈ 2 mins. 阻塞式IO在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: Read more »