使用c++实现redis
前段时间看完了C++ primer 5th
和Linux高性能服务器编程
两本书之后, 很迷茫不知道该做些什么东西. 然后就又新开始看一本书Redis设计与实现
.
这本书事无巨细地介绍了redis3.0的底层数据结构, 数据库功能的实现以及一些进阶的多机数据库功能. 恰好redis是用c语言实现的, 于是我就在想, 要不用c++复现一个简单版本的redis练练手? 说干就干!!
项目特点
- override the redis data structure and object with class
- simplify some data transform to optimize the response time
- support multi-client connections with multi-thread
- efficient garbage collector implemented with modern smart pointers
- organize the macro and const value with namespace
项目目标
由于之前用C++都还只是停留在刷题和纸上谈兵, 因此项目主要的目标是使用C++完成第一个比较正式, 规模较大的项目, 除了空泛的’练习写c++代码能力’的目标, 更具体的目标包括:
- 掌握大型项目的工作环境搭建以及学会使用cmake. 将代码编译和运行起来是一切的基础, 这点仅通过单文件编译是没法体验的.
- 掌握大型项目的文件管理以及代码规范. 项目遵循
google codestyle for C++
- 练习写c++代码能力. 这其中包括掌握c++的语法, 新特性等. 通过实践来加深对动态内存管理, 数据类型转换等难点的认识.
- 面向对象和设计模式. 通过灵活使用面向对象继承, 多态和封装, 提高代码的可读性.
- 学会C++项目的测试. 借此机会掌握不同测试方法, 并进行实操.
- 学会C++大型项目的调试. 之前的调试仅限于刷题时进行简单的调试, 而从来没有尝试过对大型项目进行错误定位和调试.
- 尝试对项目进行压力测试. 通过压力测试检测项目的运行性能.
- 学会C++项目的性能优化. 在压力测试的基础上, 分析系统性能瓶颈, 进行有目标的性能调优.
- Title: 使用c++实现redis
- Author: Huan Lee
- Created at : 2023-09-08 08:00:00
- Updated at : 2024-02-26 04:53:15
- Link: https://www.mirthfullee.com/2023/09/08/使用c++实现redis/
- License: This work is licensed under CC BY-NC-SA 4.0.