- 用 Go 实现 Redis(二):用 map 实现内存数据库与命令分发
本文是「用 Go 实现 Redis」系列的第二篇。我们先用 map 与读写锁实现一个简单的内存数据库,再用 Object 统一不同类型的数据,最后通过命令注册表,把 RESP 请求分发到对应的命令处理函数。
16 min - 用 Go 实现 Redis(一):RESP2 协议的实现
本文是「用 Go 实现 Redis」系列的第一篇,主要讨论 RESP2 协议(Redis Serialization Protocol)。我们先从一条命令的传输过程讲起,再介绍 RESP2 的五种基础类型,最后给出 Parser 解析器和 Writer 序列化器的实现。
10 min - HTTP 请求方法:GET、POST、PUT 与幂等性
整理常见 HTTP 请求方法的标准语义:GET、HEAD、POST、PUT、DELETE、PATCH 和 OPTIONS 各自的用途,以及安全与幂等这两个属性在真实工程中意味着什么。
4 min - HTTP/1.1 报文长什么样?从请求行到消息体
拆开一条 HTTP/1.1 请求和响应报文,逐段说明请求行、状态行、首部字段、空行与消息体分别承载什么信息,并解释 Host、Content-Length 等常见字段的作用。
5 min - 我用 Headscale 连接宿舍与外部设备
记录我用 Headscale 搭建自建内网穿透方案的过程:比较常见方案的取舍,说明为什么选择 Headscale,以及如何为宿舍 NAS 部署服务端并用 Tailscale 客户端连接不同设备。
4 min
返回