# KBox **Repository Path**: foolish-student/KBox ## Basic Information - **Project Name**: KBox - **Description**: 轻量级key-value存储服务,支持多种数据结构 - **Primary Language**: C++ - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-09 - **Last Updated**: 2025-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KBox #### 介绍 基于网络IO实现的轻量级存储程序。
支持array、rbtree、hash三种数据类型。
支持多种语言,Java、GO、C++都可以进行连接使用 #### 测试性能 array: 60W次访问耗时56.425秒,qps10633
rbtree: 60w次访问耗时56.356秒,qps10714
hash: 60w次访问耗时55.424秒, qps10825 #### 软件架构 ![alt text](image.png) ntyco:开源库 rbtree:开源代码 hash: 开源代码 #### 安装教程 ```bash # 1. 下载安装ntyco https://github.com/wangbojing/NtyCo # 2. 编译kbox cmake .. make # 3. 运行使用 ``` #### 使用说明 1. Array操作: * GET KEY * SET KEY VALUE * DEL KEY * MOD KYE VALUE * COUNT KEY 2. RBtree操作: * RGET KEY * RSET KEY VALUE * RDEL KEY * RMOD KYE VALUE * RCOUNT KEY 3. Hash操作: * HGET KEY * HSET KEY VALUE * HDEL KEY * HMOD KYE VALUE * HCOUNT KEY #### 待完成 使用策略模式替换switch case #### 问题总结 ##### 1. .bbs、R_X86_64_PC3错误 > nty_schedule_search_wait': nty_schedule.c:(.text+0x1de5): relocation truncated to fit: R_X86_64_PC32 against symbol 分配给C的栈空间有大小限制,很可能是栈空间不够了。需要增加栈空间 ```bash # 查看当前限制 ulimit -a # 增加虚拟内存限制(例如设置为 4GB; 单位是 KB) ulimit -v 4194304 # 取消堆栈大小限制 ulimit -s unlimited ```