mmap加载配置文件,uring实现持久化

This commit is contained in:
1iaan
2026-01-22 12:38:34 +00:00
parent f031e107b5
commit ba2004c258
15 changed files with 627 additions and 639 deletions

View File

@@ -1,21 +1,11 @@
# 9.1 Kvstore
## 环境安装
```shell
# xml
sudo apt install libxml2 libxml2-dev
# hiredis client
sudo apt install -y libhiredis-dev
```
## 需求
- ntyco需要作为kvstore的submodule,通过git clone一次下载。 **完成**
- README需要包含编译步骤测试方案与可行性性能数据。
- 量持久化需要包含完整的指令
- 全量持久化保存数据集。
- 持久化的性能数据
- 特殊字符可以解决redis的resp协议。
1. ntyco需要作为kvstore的submodule,通过git clone一次下载。 **完成**
2. README需要包含编译步骤测试方案与可行性性能数据。
3. 量持久化保存数据集。 **BUG FIX完成**
4. 持久化的性能数据。
5. 特殊字符可以解决redis的resp协议。 **完成**
```
简单字符串
+OK\r\n
@@ -28,15 +18,28 @@ $6\r\nfoobar\r\n
数组
*2\r\n$3\r\nfoo\r\n$3\r\nbar\r\n
```
6. 实现配置文件把日志级别端口ip主从模式持久化方案。 **完成**
7. 持久化落盘用io_uring加载配置文件用mmap。
8. 主从同步的性能,开启与关闭性能做到。
9. 主从同步600w条,出现的coredump。
10. 主从同步用ebpf实现。
11. 内存池测试qps与虚拟内存物理内存。
12. 实现一个内存泄露检测组件。
- 实现配置文件把日志级别端口ip主从模式持久化方案。 **完成**
- 持久化落盘用io_uring加载配置文件用mmap。
- 主从同步的性能,开启与关闭性能做到。
- 主从同步60ew条,出现的coredump。
- 主从同步用ebpf实现。
- 内存池测试qps与虚拟内存物理内存。
- 实现一个内存泄露检测组件。
## 环境安装与编译
```shell
# xml
sudo apt install libxml2 libxml2-dev
# hiredis client
sudo apt install -y libhiredis-dev
git clone git@gitlab.0voice.com:lianyiheng/9.1-kvstore.git
cd 9.1-kvstore/
make
```
## 测试
### 面试题
1. 为什么会实现kvstore使用场景在哪里