摘要:
百度百科解释的很好,地址如下:http://baike.baidu.com/link?url=9yb5izRj6S1TzsN--EVexN7BAEzSn3jGctSgcoLTwVfaCXmtfMj381SIOS0n4cIlFvSaOK00Nz4AtkyUsb9Ivq 阅读全文
摘要:
Skip lists are a data structure that can be used in place of balanced trees.Skip lists use probabilistic balancing rather than strictly enforced balan... 阅读全文
摘要:
简单通俗的来说, self就是写在哪个类里面, 实际调用的就是这个类.所谓的后期静态绑定, static代表使用的这个类, 就是你在父类里写的static, 然后通过子类直接/间接用到了这个static, 这个static指的就是这个子类, 所以说static和$this很像, 但是static可以... 阅读全文
摘要:
学习redis 字典结构,hash找槽位 求槽位的索引值时,用到了 hash值 & sizemask操作,其后的scan操作涉及扫描顺序逻辑,对同模的槽位 按一定规则扫描!其中涉及位运算 & 和 %操作之间的关系!故整理学习资料如下:原文引自:http://blog.sina.com.cn/s/bl... 阅读全文
摘要:
Redis在2.8.0版本新增了众望所归的scan操作,从此再也不用担心敲入了keys*, 然后举起双手看着键盘等待漫长的系统卡死了···命令的官方介绍在这里, 中文版由huangz同学细心翻译了,作者Antirez的介绍在这里:Finally Redis collections are itera... 阅读全文
摘要:
续上一篇文章Redis Scan迭代器遍历操作原理(一)–基础,这里着重讲一下dictScan函数的原理,其实也就是redis SCAN操作最有价值(也是最难懂的部分)。关于这个算法的源头,来自于githup这里:Add SCAN command #579,长篇的讨论,确实难懂····建议看看这帖子... 阅读全文
摘要:
移位实现乘除法大家都知道用移位的方法实现乘除法效率要高得多 简单的例子:用移位实现乘除法运算 a=a*4; b=b/4;可以改为: a=a>2;其实对于任何一个整数都可以:a=a*3 --> a=a*(2+1) --> a= a a= a> 10; // 表示乘以1.1406,先放大1024倍,运算... 阅读全文
摘要:
整数哈希介绍为什么要整数哈希 很多时候,可以直接用整数作为键,比如QQ号码,手机号码,但这些号码的分布性不是均匀的(比如高位的变化更少,低位变化更多)。 分布均匀指的是每位为0或1的概率都是一样的。理论基础整数哈希的目标 1. 函数要是可逆的(1对1的映射) 2. 雪崩效应(输入中1... 阅读全文
摘要:
岁数大了,记忆力不好!这里记下,以后忘了来查!->运算符。访问结构中的成员 用 点“.”运算符Ex:typedef struct st { char a; int b;} st;定义个结构:st mySta, *mStb;//访问结构成员mySta.a = 'c';//访问结构指针指向的成员(*... 阅读全文
摘要:
最近看了一种数据结构叫做skipList,redis和levelDB都是用了它。Skip List是在有序链表的基础上进行了扩展,解决了有序链表结构查找特定值困难的问题,查找特定值的时间复杂度为O(logn),他是一种可以代替平衡树的数据结构。 下面是skipList的一个介绍,转载来的,源地... 阅读全文