Skip to Content
GoRedigo

Redigo

Redis 是一个开源的内存数据库,它可以存储键值对数据,支持多种数据结构,如字符串、列表、集合、有序集合等。

本系列将使用 Go 语言复刻 Redis 的部分功能,以此来学习 Go 语言的基础知识。

我们要做的是:

  • 构建一个允许您使用字符串和散列的 Redis 克隆。

  • 编写一个解析器来理解 RESP,它允许服务器接收命令并以响应的形式进行回复。

  • 使用 goroutine 来同时处理多个连接。

  • 使用追加唯一文件(AOF)将数据写入磁盘,这是 Redis 用于持久化的方法之一。这样,如果服务器崩溃或重启,我们可以恢复数据。

wutiaowu.png

预备知识

  • Go 语言基础
  • 了解 Redis
  • 了解网络编程
  • Git 基础

Git Commit 规范

类型描述
feat新功能
fix修复 bug
docs文档修改
style代码格式(不影响代码运行的变动)
refactor重构(即不是新增功能,也不是修改 bug 的代码变动)
perf性能优化
test增加测试
chore构建过程或辅助工具的变动,或其他杂项

示例:

  • 当我们添加一个新功能时,我们可以使用 feat: 添加xx功能 来提交。
    • 对不同的模块,我们可以使用括号来区分,比如 feat(auth): 添加xx功能
  • 当我们修复一个 bug 时,我们可以使用 fix: 修复 bug 来提交。
  • 当我们修改文档时,我们可以使用 docs: 修改文档 来提交。
  • 当我们修改代码格式时,我们可以使用 style: 修改代码格式 来提交。
  • 当我们重构代码时,我们可以使用 refactor: 重构代码 来提交。
  • 当我们优化代码性能时,我们可以使用 perf: 优化代码性能 来提交。
  • 当我们增加测试时,我们可以使用 test: 增加测试 来提交。
  • 当我们修改构建过程或辅助工具时,我们可以使用 chore: 修改构建过程或辅助工具 来提交。
Last updated on