- 博客(4)
- 收藏
- 关注
原创 redis源码解析(五)字典结构体
1. 前言 字典结构是redis中的核心结构之一,主要由dictEntry, dictType, dictht和dict组成,详细源码和介绍如下。2. 源码分析 1. dictEntry dictEntry是典型的哈希表项结构:由键值对组成,并且有链表指针next,用于同键下的遍历搜寻等操作。/*字典(哈希表)的键值对,由key,v,和指针next组成,是拉链式哈希表的实际存储位...
2018-10-31 22:20:24 279
原创 libutp 开源库使用心得
1. 前言 libutp是bittorrent使用的可靠udp库,开源代码在此。该可靠udp最大的特色在于带宽避让:不同于TCP以及其他可靠UDP尽可能抢占带宽资源。因此很适宜使用在下载场景之中以保证其他网络通信流畅。 本文不涉及libutp的源码分析,仅仅对于该库的使用谈一点点经验。2. 使用经验libutp的文件数量不多,编译的时候可以单独成库编译也可以和自己的项目放在一起编译。...
2018-10-30 22:44:16 799
原创 redis源码解析(四)双向链表
本文分析redis里的双向链表的基础结构以及基础函数1. 基本结构 redis的双向链表主要实现了以下三个结构体:(1)链表节点,包括两个指针指向前后节点,一个指针指向节点的值(2)迭代器,用于遍历(3)链表结构体,包括头、尾、复制释放遍历函数、链表长度。/* Node, List, and Iterator are the only data structures used c...
2018-10-29 22:40:47 225
原创 redis源码解析(三)动态字符串sds高级功能函数
/* Like sdscatprintf() but gets va_list instead of being variadic. */sds sdscatvprintf(sds s, const char *fmt, va_list ap) { va_list cpy; char staticbuf[1024], *buf = staticbuf, *t; size_...
2018-10-14 00:12:14 651
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人