public class ConsistentHash<T>
一致性hash实现
| 构造器和说明 |
|---|
ConsistentHash(int virtualNodeMultiple,
int virtualNodeMaxSize,
java.util.Collection<? extends T> realNodes,
kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer> hashFunc)
一致性hash实现
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
add(T realNode)
添加真实节点
添加对应虚拟节点
|
void |
dumpVirtualNodes()
输出虚拟节点
|
void |
forEachVirtualIndexFromRealNode(T realNode,
kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> action)
遍历真实节点对应的每个虚拟节点的序号
一个真实节点对应创建 virtualNodeMultiple 个虚拟节点
|
T |
get(java.lang.Object key)
根据key, 计算hash, 获得离hash最近的顺时针节点
|
T |
get(int index)
获得离i最近的顺时针节点
|
kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer> |
getHashFunc() |
int |
getSize()
虚拟节点个数
|
int |
getVirtualIndexSpan()
虚拟节点序号的间隔
|
int |
getVirtualNodeMaxSize() |
int |
getVirtualNodeMultiple() |
java.util.TreeMap<java.lang.Integer,T> |
getVirtualNodes()
<虚拟节点的hash值, 真实节点>
|
void |
remove(T realNode)
删除真实节点
删除对应虚拟节点
|
public ConsistentHash(int virtualNodeMultiple,
int virtualNodeMaxSize,
java.util.Collection<? extends T> realNodes,
kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer> hashFunc)
一致性hash实现
public int getVirtualIndexSpan()
虚拟节点序号的间隔
public java.util.TreeMap<java.lang.Integer,T> getVirtualNodes()
<虚拟节点的hash值, 真实节点>
public int getSize()
虚拟节点个数
public void dumpVirtualNodes()
输出虚拟节点
public void forEachVirtualIndexFromRealNode(T realNode,
kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> action)
遍历真实节点对应的每个虚拟节点的序号 一个真实节点对应创建 virtualNodeMultiple 个虚拟节点
public void add(T realNode)
添加真实节点 添加对应虚拟节点
public void remove(T realNode)
删除真实节点 删除对应虚拟节点
public T get(java.lang.Object key)
根据key, 计算hash, 获得离hash最近的顺时针节点
public T get(int index)
获得离i最近的顺时针节点
public int getVirtualNodeMultiple()
public int getVirtualNodeMaxSize()
public kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer> getHashFunc()