littlebot
Published on 2025-04-12 / 4 Visits
0

【源码】基于 C++ 的高并发集群 KV 数据库

项目简介

本项目是基于 C++ 语言和 Append-Only File 构建的高并发集群 KV 数据库。经过多个开发阶段,实现了基本功能、内存索引、LRU 缓存、高并发处理以及数据分片集群等特性,支持 GET 查询、SET 存储、DEL 删除、PURGE 整理操作和设置 key 生存周期的 expire 操作,还具备异常处理能力。

项目的主要特性和功能

  1. 基本功能:支持 GET、SET、DEL、PURGE 操作,处理异常输入、重复删除、覆盖写、删除重写等情况,并完成单元测试。
  2. 内存索引与过期删除:用 HashMap 实现内存索引,Min-Heap 记录 key 过期时间,增加 expire 操作,实现过期自动删除。
  3. LRU 缓存:通过 HashMap 和双向链表实现 LRU Cache,提升数据访问效率。
  4. 高并发处理:采用服务器 - 客户端模式,基于 epoll 实现 IO 多路复用,单进程串行处理请求,避免数据不一致问题。
  5. 数据分片集群:使用数据分片集群解决高并发和海量数据存储问题,客户端请求可访问任意节点,节点通过哈希一致性选出处理节点并转发。

安装使用步骤

前提条件

假设用户已下载项目源码文件,运行环境为 Linux 系统(Windows 系统未提供 IO 多路复用方案)。

安装步骤

  1. 确保系统安装了 C++ 编译器和必要的开发工具。
  2. 进入项目源码目录。

使用步骤

  1. 编译项目代码,生成可执行文件。
  2. 启动服务器程序。
  3. 在 Linux 系统上,使用 telnet localhost 8888 连接服务器并使用 KV 数据库服务。
  4. 输入操作指令(大小写均可识别):
    • 存储:set key value
    • 删除:del key
    • 查询:get key
    • 整理:purge
    • 设置生存时间:expire key time

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】