- 博客(4)
- 资源 (9)
- 收藏
- 关注
原创 Redis源码学习——字典
字典在Redis中应用十分广泛,它是实现数据库的基础,特别的它是数据库键空间的实现方式,因此非常必要研究透彻字典的构建。1、散列方法也就是hash方法。思想:根据节点的关键码值确定存储地址。核心:散列函数。原理:对于任意给定的查找表 DL,选定“理想”的散列函数 h 及相应的散列表 HT ,则对于 DL 中每个元素 X ,函数值 h(X.key) 为 X 在
2014-03-17 14:24:37 1611
原创 Redis源码学习——双端链表
双端链表在Redis中的地位:它作为一种通用数据结构,在Redis的内部使用非常多。是Redis列表结构的底层实现之一,也被大量Redis模块使用,用于构建其他功能。1、双端链表的定义Redis双端列表的定义可以参看 adlist.h 和 adlist.c 两个文件。与双链表定义一致,引入了链表节点,并在此基础上增加头尾节点构建双端链表。链表节点如下定义:/
2014-03-14 17:32:52 1331
原创 Redis源码学习——简单动态字符串SDS(Simple Dynamic String)
前两天听了学长们的交流会,偶尔接触到了redis,考虑到redis只有2W多行代码,感觉代码量不是很大,所以决心看看他的源代码。 由于刚刚接触redis,所以就跟着大牛的文章一步一步的学下去了。 打算按照《Redis 设计与实现》http://www.redisbook.com/en/latest/#id1 这本书慢慢的学下去,希望今天是一个良好的起点。
2014-03-13 17:25:12 2475 1
原创 两个精巧的算法
1、计算一个二进制数中1的个数如给定一个整型数 x = 10,它的二进制表达式是(1010)B,题意就是计算出x的二进制表示中一的个数是2。分析如下:如果将x转化为二进制,就可以计算出1的个数了,此时复杂度是o(log n)的,复杂度还可以。int func(int x){ int count = 0; while(x){ if(x%2 == 1) count++; x
2014-03-03 14:53:38 1362
GCC手册.chm
2013-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人