Skip to content
基础

一句话答案

短连接每次请求建立新 TCP 开销大,长连接复用连接(HTTP/1.1 Keep-Alive),数据库/Redis 用连接池维护。

核心要点

HTTP/1.1 默认 Keep-Alive:复用TCP连接发送多个请求

连接池: 数据库/Redis连接池维护长连接复用

心跳: 长连接需要心跳保活(TCP keepalive 或应用层心跳)

追问与易错

追问方向:

  • HTTP Keep-Alive 和 TCP Keepalive 区别?
  • 连接池的连接过期怎么处理?
  • 什么时候该用短连接?

易错点:

  • ❌ HTTP/1.1 的 Keep-Alive 就是长连接——只是连接复用不是永久
  • ❌ 长连接不需要维护——需要心跳保活和超时管理

💡 记忆锚点

短连接像每次打车都重新叫车(建连→传数据→断开),开销大;长连接像包了一辆车(Keep-Alive),多次用同一条路。连接池就是车队调度中心(数据库/Redis预建一批长连接复用),但车停太久要发心跳保活,不然司机以为你下车了。