
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
队列是一种先进先出(FIFO,First In First Out)的受限线性表。通俗理解就是排队:先来的人先走,后来的人后走,绝对不允许插队、不允许从中间删除元素。和栈刚好完全相反:栈:后进先出(LIFO)队列:先进先出(FIFO)普通顺序队列:代码最简单,存在假溢出,仅用于入门理解,不实战使用。循环队列:面试必手撕,解决空间浪费,缓存友好,操作系统缓冲区、网络IO底层常用。链式队列:动态扩容无

在没有 IO 复用之前,最原始的 socket 编程采用的是阻塞 IO 模型:一个线程只能处理一个客户端连接。当服务器调用accept()等待客户端连接,或者调用recv()等待客户端发送数据时,如果没有事件发生,整个线程就会被操作系统挂起阻塞,什么也干不了,只能傻等。如果想要支持 1000 个同时在线的客户端,就必须创建 1000 个线程。内存开销巨大:每个线程默认栈空间是 8MB,1000 个

在没有 IO 复用之前,最原始的 socket 编程采用的是阻塞 IO 模型:一个线程只能处理一个客户端连接。当服务器调用accept()等待客户端连接,或者调用recv()等待客户端发送数据时,如果没有事件发生,整个线程就会被操作系统挂起阻塞,什么也干不了,只能傻等。如果想要支持 1000 个同时在线的客户端,就必须创建 1000 个线程。内存开销巨大:每个线程默认栈空间是 8MB,1000 个

负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写 Redis 数据时应用连接主节点,读 Redis 数据时应用连接从节点),分担服务器负载。哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个单独的进程,作为进程,他会独立运行。当某个key在过期的瞬间,有大量的请求并发访问,这类数据一般是热点数据,由于缓存过期,会同时访问数据库来查询最新

进程是操作系统进行资源分配的基本单位。当你启动一个应用程序时,操作系统就会为它创建一个或多个进程。每个进程都拥有独立的地址空间、文件描述符、信号处理函数等资源。工厂有自己的厂房(内存空间)有自己的设备和原材料(文件描述符、网络连接等)有自己的工人(线程)不同工厂之间是相互隔离的,一个工厂出问题不会影响其他工厂线程是操作系统进行 CPU 调度的基本单位,也被称为 "轻量级进程"。一个进程可以包含一个

只要fd处于就绪状态(如读缓冲区有数据),每次调用epoll_wait,内核都会重复通知进程该fd就绪,直到进程将数据处理完毕。仅当fd的状态从“非就绪”变为“就绪”时,内核才会通知进程一次,后续即使fd仍处于就绪状态(如还有未读取的数据),内核也不会再通知。对比项水平触发(LT)边缘触发(ET)触发时机fd就绪时,重复通知,直到数据处理完毕仅在fd从非就绪→就绪时,通知一次fd类型要求支持阻塞、

索引是 MySQL 中一种特殊的数据结构(类似书籍的目录),存储在表空间(.ibd文件)中,用于快速定位数据,避免全表扫描。无索引→逐行扫全表(慢);有索引→走目录定位(快)。核心本质:索引是 B + 树结构(InnoDB),聚簇索引存数据,二级索引存主键,查询优先走索引减少 I/O。分类选型:主键必建,高频查询建普通 / 联合索引,长文本用前缀索引,文本检索用全文索引。优化关键:遵循最左前缀、避

MySQL是一款开源的关系型数据库管理系统(RDBMS),基于客户端-服务器(C/S)架构,底层通过TCP协议实现客户端与服务器的通信(默认端口3306),支持多用户、多线程并发访问,能高效存储和管理结构化数据。在Linux网络编程中,MySQL的核心作用:作为网络程序的“数据仓库”,持久化存储业务数据(如TCP服务器的客户端信息、HTTP接口的请求日志、用户账号密码等),避免程序重启后数据丢失。

MySQL是一款开源的关系型数据库管理系统(RDBMS),基于客户端-服务器(C/S)架构,底层通过TCP协议实现客户端与服务器的通信(默认端口3306),支持多用户、多线程并发访问,能高效存储和管理结构化数据。在Linux网络编程中,MySQL的核心作用:作为网络程序的“数据仓库”,持久化存储业务数据(如TCP服务器的客户端信息、HTTP接口的请求日志、用户账号密码等),避免程序重启后数据丢失。

前面我们把TCP 三次握手、四次挥手、TIME_WAIT、UDP 套接字编程全部学完了,TCP/UDP 属于传输层协议。实际上网、浏览器访问网页、接口调用、前后端交互,底层都是 TCP,上层跑的就是HTTP 协议。本节课重点:搞懂 HTTP 是什么、请求报文、响应报文、请求方法、状态码、HTTP 工作流程,最后结合 Linux Socket 手写一个极简 HTTP 服务器,把网络编程真正落地到网页








