simple-redis:Simple-Redis 是 Redis 的简单实现,用于教育或研究

时间:2021-05-30 20:45:40
【文件属性】:
文件名称:simple-redis:Simple-Redis 是 Redis 的简单实现,用于教育或研究
文件大小:521KB
文件格式:ZIP
更新时间:2021-05-30 20:45:40
C SimpleRedis SimpleRedis用途以及目标 研究学习Redis的数据结构以及代码实现 研究epoll跟libev 字符串只支持ANSI-C style,原版Redis使用宏支持UTF-8等各种编码集,不利于学习研究 数据结构以及文档解释 SDS字符串的实现 typedef struct SDS { int reserve;// reserve heap space int len; // length of str char str[]; } SDS; 此处struct sds使用了C语言的结构体特性,无论结构体是创建在栈上还是堆上 ,结构体的占据的内存空间都是连续的 下图LLDB调试,可以看到结构体在内存中存储的位置都是连续的,也就是说保存了结构体中的str指针之后, 通过str指针的偏移计算是可以得到整个结构体的指针以及结构体中其它成员变量的指针
【文件预览】:
simple-redis-master
----CMakeLists.txt(394B)
----.gitignore(196B)
----main.c(151B)
----README.md(1KB)
----test()
--------CMakeLists.txt(486B)
--------sds_test.cpp(173B)
--------linked_list_test.cpp(2KB)
----image()
--------sds_in_stack.png(301KB)
--------sds_in_heap.png(301KB)
----src()
--------sds.h(534B)
--------sds.c(2KB)
--------linked_list.c(2KB)
--------linked_list.h(925B)
--------array_list.h(148B)
--------array_list.c(68B)

网友评论