Redis
为了学习Redis和更好地理解Redis,决定自己写一个C++版本的Redis
文章目录
0.写在前面的话
- 第一,我这里仅仅只是学习Redis的思想。所以使用的是C++,而且很多数据结构使用STL。
- 第二,我这里不追求性能,所以不会极致地去考虑性能问题,而是以实现功能为主。
1.NoSQL究竟是什么?
对于看过Redis源码的我来说,实际上就是一张非常大的哈希表而已。
所以第一句话非常好写
class JedisDB
{
public:
JedisDB() = default;
void SetVal(const string&key, void *val);
void* GetVal(const string&key);
private:
unordered_map<string, void*> dict_;
};
但是,作为现代C++的编程,我不太喜欢裸指针的管理,我希望能一切对象化。而且Redis中也是用了一个RedisObject来抽象对象。
class JObject;
class JedisDB
{
public:
JedisDB() = default;
void</