你将学到的
  • C++11核心语法的实际运用
  • 理解Qedis数据结构模型
  • 理解Qedis事务与乐观锁
  • 学习使用Leveldb并与Qedis结合
  • 使用C++11网络库编写服务程序
  • 理解Qedis命令分发及命令逻辑实现
  • 理解发布订阅实现
课程内容
  共7个章节
lab-classic 实验 1 本项目常用的cpp11特性讲解实践

知识点: 1.右值引用是如何提高性能 2.智能指针如何避免各种内存问题 3.lambda 4.C11语法糖

lab-classic 实验 2 tcp网络库基本使用

知识点: 1.如何监听一个tcp端口 2.如何处理连接上的数据 3.如何发送数据给客户端 4.如何踢掉客户端

lab-classic 实验 3 Qedis数据结构实现与协议处理

知识点: 1.Qedis数据结构模型 2.Qedis协议细节 3.Qedis命令分发与处理的实现

lab-classic 实验 4 实现常用数据结构相关的命令

知识点: 1.字符串常见命令实现 2.链表常见命令实现 3.哈希常见命令实现

知识点: 1.体验事务功能 2.体验乐观锁功能 3.事务的实现

lab-classic 实验 6 Qedis发布订阅

知识点: 1.体验发布订阅功能 2.实现发布订阅

lab-classic 实验 7 使用leveldb突破内存限制

知识点: 1.leveldb介绍 2.如何将leveldb嵌入Qedis

课程介绍

C++11 从零实现 NoSQL 数据库

实验介绍

本课程使用 C++11 从头实现一个完全兼容 redis 的 kv 数据库项目——Qedis,支持 linux 和mac os;该项目会使用到一些 C++11 核心特性和STL库,并利用一个 reactor 模式的 tcp 网络库,逐步构建出一个完全兼容Redis的更高性能的内存数据库。

Qedis 和 Redis 是 100% 兼容的,它实现了 Redis2.6 所有功能,因此在课程中也经常混用Qedis 和 Redis 这两个词,不必在意区别。

实验任务

  • 编写一个 echo 服务器
  • 设计数据库相关数据结构
  • 实现数据库操作命令
  • 实现数据库的事务、发布订阅功能
  • 使用 leveldb 突破内存限制

先学知识

适合人群

本课程难度覆盖较广,包括初级、中级、高级,用户可以根据自己目前的水平慢慢学习;读者最好有一定的C++基础,并了解Redis,有 Redis 使用经验更佳。

课程信息

  • 学习周期:课程有效期 2 个月, 2 个月后实验文档一直可以看,但无法进行在线实验。高级会员有效期内可一直学习,高级会员到期后课程失效(不能看文档)。
  • 课程价格:当前优惠价 69 元。
  • 企业团报:可获得更多支持服务,请点击购买咨询

实验截图

  • 启动Qedis服务器

image

  • 使用Redis官方客户端访问刚才启动Qedis服务器

image

  • Qedis支持了140个命令,与Redis2.6相当,100%兼容Redis.
课程教师

Bert Young 共发布过 1 门课程

现就职于某互联网公司任职高级工程师,开发维护某linux基金会项目,在github也开发维护多个开源项目。擅长C++后端开发、分布式存储等工作。 QQ技术交流群 722055983

查看老师的所有课程 >
实验楼楼+
实验楼会员