abc_begin

导航

2017年9月16日 #

redis源码学习_整数集合

摘要: redis里面的整数集合保存的都是整数,有int_16、int_32和int_64这3种类型,和C++中的set容器差不多。 同时具备如下特点: 1、set里面的数不重复,均为唯一。 2、set里面的数是从小到大有序的,这在后面的intsetAdd函数中可以看到。 然后由于我们可以同时存储int_1 阅读全文

posted @ 2017-09-16 22:57 LastBattle 阅读(828) 评论(1) 推荐(0)

redis源码学习_链表

摘要: redis的链表是双向链表,该链表不带头结点,具体如下: 主要总结一下adlist.c和adlist.h里面的关键结构体和函数。 链表节点结构如下: 链表结构如下: 链表迭代器的结构如下: 里面涉及的函数中,增、删的比较简单,就是结构里面没有带头结点,所以需要单独判断一下头结点的特殊情况。另外对于尾 阅读全文

posted @ 2017-09-16 21:29 LastBattle 阅读(214) 评论(0) 推荐(0)

redis源码学习_简单动态字符串

摘要: SDS相比传统C语言的字符串有以下好处: (1)空间预分配和惰性释放,这就可以减少内存重新分配的次数 (2)O(1)的时间复杂度获取字符串的长度 (3)二进制安全 主要总结一下sds.c和sds.h中的关键函数 1、sdsmapchars 2、sdstrim 3、sdsll2str 4、sdsspl 阅读全文

posted @ 2017-09-16 12:32 LastBattle 阅读(635) 评论(1) 推荐(0)