redis源码阅读笔记-dict.h

dict.h

在redis中,dict.h主要是hash的底层实现方式。
在dict.h中主要是一些数据结构的定义,以及一些宏函数的定义相关的内容。

哈希节点定义

源代码中的dictEntry就是哈希节点的相关定义

typedef struct dictEntry {
   
    void *key;		//存放key值
    union {
   			//使用一个union存放value值
        void *val;
        uint64_t u64;
        int64_t s64;
        double d;
    } v;
    struct dictEntry *next;		//hash冲突使用开链法,因此使用了一个next指针指向下一个节点
} dictEntry;
dictType

在dictType中,存放了一些操作函数

typedef struct dictType {
   
    uint64_t (*hashFunction)(const void *key);		//哈希函数
    void *(*keyDup)(void *privdata, const void *key);	//key复制
    void *(*valDup)(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值