项目简介
本项目是基于 C++ 语言和 Append-Only File 构建的高并发集群 KV 数据库。经过多个开发阶段,实现了基本功能、内存索引、LRU 缓存、高并发处理以及数据分片集群等特性,支持 GET 查询、SET 存储、DEL 删除、PURGE 整理操作和设置 key 生存周期的 expire 操作,还具备异常处理能力。
项目的主要特性和功能
- 基本功能:支持 GET、SET、DEL、PURGE 操作,处理异常输入、重复删除、覆盖写、删除重写等情况,并完成单元测试。
- 内存索引与过期删除:用 HashMap 实现内存索引,Min-Heap 记录 key 过期时间,增加 expire 操作,实现过期自动删除。
- LRU 缓存:通过 HashMap 和双向链表实现 LRU Cache,提升数据访问效率。
- 高并发处理:采用服务器 - 客户端模式,基于 epoll 实现 IO 多路复用,单进程串行处理请求,避免数据不一致问题。
- 数据分片集群:使用数据分片集群解决高并发和海量数据存储问题,客户端请求可访问任意节点,节点通过哈希一致性选出处理节点并转发。
安装使用步骤
前提条件
假设用户已下载项目源码文件,运行环境为 Linux 系统(Windows 系统未提供 IO 多路复用方案)。
安装步骤
- 确保系统安装了 C++ 编译器和必要的开发工具。
- 进入项目源码目录。
使用步骤
- 编译项目代码,生成可执行文件。
- 启动服务器程序。
- 在 Linux 系统上,使用
telnet localhost 8888
连接服务器并使用 KV 数据库服务。 - 输入操作指令(大小写均可识别):
- 存储:
set key value
- 删除:
del key
- 查询:
get key
- 整理:
purge
- 设置生存时间:
expire key time
- 存储:
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】