Skip to content

HildaM/GoKV

Repository files navigation

GoKV

简介

  • 使用 Golang 开发的仿 Redis 非关系型高并发数据库。
  • 完全使用原生 golang 编写,不引入任何外部框架实现。

项目亮点

  1. 基于分段锁实现的 KV 存储引擎,确保数据高并发读写下的安全。参考 Java ConcurrentHashMap实现。
  2. 支持多种数据结构,支持 string、set、zset 等 redis 数据结构
  3. 支持 Redis 的 AOF 持久化与重写功能。
  4. 支持 pipeline 模式的客户端。采用 channel 异步编程等 golang 并发编程实现。
  5. 实现类似 redis 的网络连接池。提升 GoKV 网络连接性能。
  6. 支持集群模式。采用一致性 hash 算法实现集群系欸但的定位、获取。
  7. 支持事务处理。集群模式下采用 TCC 分布式事务。同时支持本地原子性事务处理,弥补了 Redis 没有本地事务的缺点