基于Linux的redis C++库的设计与实现
背景
现在没有好用的 redis C++ 库(功能缺陷、使用困难、对第三方依赖大)
功能
给 C++ 程序员编程使用,实现与redis server交互,完整实现功能(集群、连接, geo, 哈希、键、列表、pub/sub、集合、有序集合等),原生支持分布式锁、分布式数据结构,让用户无感知地使用分布式字符串、分布式列表等。协议层低耦合、可扩展其他kv存储协议。
优点
无其他库依赖、功能完备、高性能、多种编程模型,完备的测试体系
用到知识点:
知识点 | 项目中体现 |
---|---|
软件工程 | 面向对象程序设计,C++软件开发,模块间低耦合、完备的测试体系 |
数据结构 | 哈希、队列、链表、分布式锁 |
算法 | 一致性哈希 |
设计模式 | 单例模式、命令模式、工厂模式、建造者模式、模板模式 |
网络 | Unix套接字,RESP通信协议、同步/异步编程模型、RPC框架 |
操作系统 | 线程池、线程安全、锁 |
数据库 | 数据库分片、事务 |