熟知的非关系型数据库redis,其核心存储引擎的数据结构就是跳表。本项目是一个基于跳表的轻量级键值存储数据库。
- insertElement(插入数据)
- deleteElement(删除数据)
- searchElement(查询数据)
- displayList(展示已存数据)
- dumpFile(外部数据打印)
- loadFile(加载数据)
- size(返回数据规模)
编译代码:
make // 编译 main.cpp
./bin/main num // num为最大跳表树高(不大于10)
测试代码:
sh stress_test_start.sh
采用随机插入数据测试:
为了避免实验偶然性:实验了十次取平均值:
插入数据数目/万条 | 耗时/秒 |
---|---|
10 | 0.389503 |
50 | 2.40938 |
100 | 5.29607 |
每秒可处理写请求数(QPS): 19.77w
为了避免实验偶然性:实验了十次取平均值:
查询数据数目/万条 | 耗时/秒 |
---|---|
10 | 0.468989 |
50 | 2.1963 |
100 | 4.63294 |
每秒可处理读请求数(QPS): 21.92w