放弃c++实现redis,开始阅读redis源码
放弃c++实现redis
对c++的热爱
非计算机专业出身的我,一开始接触到的是c语言,后来也就自然的接触到了c++。从c++ primer到effective c++、到stl源码解析、modern effective c++,从中我领阅到了c++的精彩
c++实现redis想法的起源
第一次接触到redis,是在一个游戏项目中,那时就看了一本redis的设计与实现。看完之后发现redis它不就是自己实现了一些stl里面的容器吗!例如
redis::sds->std::string,
redis::dict->std::map或std::unordered_map,
redis::list->std::list,
redis::set->std::set
当时萌生的第一个想法就是用c++实现一遍redis岂不是变得简单,我可以将主要实现工作放在网络、持久化、集群的实现上。由于之前用过muduo网络库,还想着可以用它来做c++redis网络模块。想到这里,我觉得大干一场的时候到了。我在github上面创了个仓库,然后发现事情并没有这么简单
放弃c++实现redis
redis使用c语言实现是有理由的。我找到以下三点主要的理由
-
1)redis是内存数据库