redis原source学习-dict

2022/2/27 19:51:26

本文主要是介绍redis原source学习-dict,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

源代码连接:

https://github.com/redis/redis/blob/unstable/src/dict.h

https://github.com/redis/redis/blob/unstable/src/dict.c

dict.h:类dict(字典<哈希>)

Function Set:dict->type

 

dict.c:

调用例子入口:dictTest 

函数指针:

可不需要#typedef进行声明,三种使用方式

//方式3 :直接通过指针类型创建,不需用typedef预定义。
    int(*fp3)(int, int) = NULL;
    fp3 = func;
    fp3(27, 89);

 

在redis中,实现具体函数(如:hashCallback

这里,由于在.h文件中对Type的定义中,已经包含对该函数指针结构的定义:

//定义
typedef struct dictType {
    uint64_t (*hashFunction)(const void *key);
    ......
}

 

调用时:

//具体函数实现
uint64_t hashCallback(const void *key) {
    return dictGenHashFunction((unsigned char*)key, strlen((char*)key));
}

//调用
dictType BenchmarkDictType = {
    hashCallback,
    ......
}

 



这篇关于redis原source学习-dict的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程