Express 中间件机制到底解决了什么问题?我刚开始学习 Express 中间件时,记住的是这句话: 中间件就是一个函数,接收 req、res、next 三个参数。 这句话没有错,但它太像定义了。只记住定义,很容易出现一种尴尬:代码会写,却不一定真的知道它为什么存在。等到项目里出现鉴权、日...2026-07-15后端开发
MySQL 索引入门:为什么加了索引查询会更快“给这个字段加个索引”几乎是性能优化讨论中出现频率最高的一句话。但索引不是性能魔法:有的索引能让查询从秒级降到毫秒级,有的索引建了却完全没被使用,还有的索引会拖慢写入并占用大量磁盘。 要真正用好 MySQL 索引,关键不是记住几个 DDL 语句,而是...2026-07-08后端开发
Node.js 事件循环:为什么后端接口不会被 I/O 卡住刚接触 Node.js 时,我就有一个疑问:JavaScript 不是单线程吗?如果一个接口正在查询数据库、读取文件或请求第三方服务,为什么服务器还能继续处理其他请求? 答案在于 Node.js 的事件循环(Event Loop)。它让 JavaSc...2026-07-01后端开发
Redis 在项目开发中的常见用法:从缓存到分布式协作的实战指南Redis 常被一句话概括为“内存数据库”,但在真实项目里,它的价值远不止把数据放进内存。 登录态、热点缓存、验证码、排行榜、接口限流、延迟任务、抢购库存、分布式锁……这些看似不相干的需求,背后都在处理同一类问题:如何用低延迟、可共享、可原子操作的状...2026-06-28后端开发
WebScoket在 Web 应用早期,浏览器和服务器之间的通信几乎完全依赖 HTTP 请求。用户点击按钮,浏览器发起请求,服务器返回响应。这种模式简单、可靠,也非常适合传统页面加载和表单提交。 但随着聊天系统、在线协作、实时行情、多人游戏、消息通知等场景出现,传统 ...2026-06-12网络通信