
redis源码分析
分析redis源码,记录自己的见解
行星T
linux c/c++基础软件相关开发
展开
-
redis-6.0.8-均衡哈希函数
static int clusterManagerCommandRebalance(int argc, char **argv) { //均匀分配哈希槽 int port = 0; char *ip = NULL; clusterManagerNode **weightedNodes = NULL; list *involved = NULL; if (!getClusterHostFromCmdArgs(argc, argv, &ip, &port原创 2022-05-22 16:30:01 · 190 阅读 · 0 评论 -
redis-6.0.8-dict的一些杂谈
数据结构typedef struct dict { dictType *type; //函数指针 void *privdata; /*ht属性是一个包含两个项的数组,数组中的每个项都是一个dictht哈希表,一般情况下, 字典只使用ht[0]哈希表,ht[1]哈希表只会在对ht[0]哈希表进行rehash时使用*/ dictht ht[2]; //hash表 /*它记录了rehash目前的进度,如果目前没有在进行rehash,那么它的值为-1*/ lon原创 2022-05-08 12:35:51 · 303 阅读 · 0 评论 -
redis-6.0.8-reactor网络模型
版本:redis-6.0.8主要内容:reactor网络模型初始化initServersrc\server.c server.el = aeCreateEventLoop(server.maxclients+CONFIG_FDSET_INCR); //创建监听时间描述符 epoll函数定义: #ifdef HAVE_EVPORT#include "ae_evport.c"#else #ifdef HAVE_EPOLL #include "ae_epoll.c"原创 2022-05-03 12:12:19 · 821 阅读 · 0 评论