mmap加载配置文件,uring实现持久化
This commit is contained in:
47
README.md
47
README.md
@@ -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,使用场景在哪里?
|
||||
|
||||
Reference in New Issue
Block a user