由于redis是单点,但是项目中不可避免的会使用多台Redis缓存服务器,那么怎么把缓存的Key均匀的映射到多台Redis服务器上,且随着缓存服务器的增加或减少时做到最小化的减少缓存Key的命中率呢?这样就需要我们自己实现分布式。 Memcached对大家应该不陌生,通过把Key映射到Memc...
分类:
编程语言 时间:
2014-12-31 16:06:20
阅读次数:
257
本函数是返回一个冻结的集合。所谓冻结就是这个集合不能再添加或删除任合集合里的元素。因此与集合set的区别,就是set是可以添加或删除元素,而frozenset不行。frozenset的主要作用就是速度快,它是使用hash算法实现。参数iterable是表示可迭代的对象,比如列表、字典、元组等等。例子:#frozenset()
l = [1, 2, 3, 4, 5, 6, 6, 7, 8, 8,...
分类:
编程语言 时间:
2014-12-20 14:17:49
阅读次数:
205
通过 HashMap、HashSet 的源代码分析其 Hash 存储机制
集合和引用
就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。
实际上,HashSet 和 HashMap 之间有很多相似之处,对于 HashSet 而言,系统采用 Hash 算法决定集合元素...
分类:
编程语言 时间:
2014-12-18 15:14:31
阅读次数:
215
哈希表是最基础的数据结构之一,利用键值对存储并检索数据的一种非线性结构。
在其它各种结构线性表、树等数据结构中,记录在结构中的位置是随机的,和记录关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的“比较”的基础上。在顺序查找时,比较的结果为“==”与“!=”两种可能;在折半查找、二叉排序树查找和B-树查找时,比较的结果为“”3种可能。查找的效率依赖于查找过程中所进...
分类:
编程语言 时间:
2014-12-17 14:42:48
阅读次数:
214
Hash算法原理 对于什么是Hash算法原理?这个问题有点难度,不是很好说清楚,来做一个比喻吧:我们有很多的小猪,每个的体重都不一样,假设体重分布比较平均(我们考虑到公斤级别),我们按照体重来分,划分成100个小猪圈。 然后把每个小猪,按照体重赶进各自的猪圈里,记录档案。 好了,如果我们要找某个小....
分类:
数据库 时间:
2014-12-07 17:34:50
阅读次数:
287
/**?? *?Hash算法大全<br>?? *?推荐使用FNV1算法?? *?@algorithm?None?? *?@author?Goodzzp?2006-11-20?? *?@lastEdit?Goodzzp?2006-11-20??? *?@editDetail?Create?? */?? pu...
分类:
编程语言 时间:
2014-12-02 17:40:17
阅读次数:
223
一致哈希算法(Consistent Hashing Algorithms)是一个分布式系统中常用的算法。传统的Hash算法当槽位(Slot)增减时,面临所有数据重新部署的问题,而一致哈希算法确可以保证,只需要移动K/n份数据(K为数据总量, n为槽位数量),且只影响现有的其中一个槽位。这使得分布式系统中面对新增或者删除机器时,能够更快速的处理更改请求。本文将用Java实现一个简单版本的一致哈希算法...
分类:
编程语言 时间:
2014-11-19 18:36:25
阅读次数:
300
题意:一个最大500*500的字符矩阵,求最大的两个相同的字符正方形。正方形可以有重叠部分但不能重合。
解法:首先是二分正方形的长度,然后判断某个长度存在时候计算字符矩阵的二维hash值,二维hash的方法是:
这样子拓展的hash算法可以O(1) 获取任意一个子矩阵的hash值。
代码:/*********************************...
分类:
其他好文 时间:
2014-11-17 19:36:30
阅读次数:
266
Memcached实际上就是两次Hash算法
第一次hash算法是用来定位Memcached实例的
第二次hash算法是底层HashMap中的hash算法
Hash算法
1.根据余数来进行计算(其实java中的HashMap的hash算法也是用的这种方式)
2.一致性hash算法
C的客户端 --->libMemcached已...
分类:
编程语言 时间:
2014-11-17 14:06:46
阅读次数:
186
Shiro 自定义密码校验: 两步: ? ? 1.自定义类MyCredentialsMatcher实现CredentialsMatcher接口 ? ? 2.实现boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info)方法 ?????...
分类:
编程语言 时间:
2014-11-07 13:13:48
阅读次数:
252