redis源码分解一(底层数据结构合集)

本篇为合集性质,redis全部的底层数据结构分析看如下文章
ghroth:redis源码学习-sds篇
ghroth:redis源码学习-adlist篇
ghroth:redis源码学习-dict篇
ghroth:redis源码学习-跳表篇
ghroth:redis源码学习-hyperloglog篇
ghroth:redis源码学习-intset篇
ghroth:redis源码学习-ziplist篇
ghroth:redis源码学习-quicklist篇
ghroth:redis源码学习-listpack篇
redis中底层数据结构有sds,dict等,不同的上层容器按需在不同条件下使用不同的底层数据结构,同时上层容器负责处理对使用者提供具体的键。

如图示例,sds等都为具体的底层数据结构,t_string本身为redis中文件名,自身无数据结构,根据客户端的不同命令,根据不同情况调用相对应的底层数据结构。可以看到,假如说一个具体的set test1 test1value 那么redis接收到了set命令,由t_string最终落到sds里。底层数据结构负责真正的内容存储,而上层容器则是连接具体存储与命令的桥梁了。上层容器具体分有t_string,t_list,t_hash,t_set,t_zset等,后续也将分篇依次分析。