2016-11-05 111 views
0

我正试图在Redis中实现杜鹃过滤器。我到现在为止工作得很好,只是它在一个节点上插入所有的值,即使在集群上工作也是如此。在Redis的多个节点上实现杜鹃过滤器

为了在多个节点上实现它,我正在考虑使用一些散列函数将不同的元素引导到不同的节点。在Redis中是否有任何命令或函数调用允许使用其密钥或编号或甚至特定插槽强制元素到特定节点?

仅供参考,this is the implementation of cuckoo filter我一直到现在。另外,Redis中的分布式节点上是否存在Cuckoo Filter或Bloom Filter的现有实现?

+1

您只能强制给定的密钥散列到同一个节点,这可能通过'hash标签'。例如,两个键'foo {zap}'和'bar {zap}'将散列到相同的散列槽,因为'{}'中的字符串是相同的。 – antirez

回答

0

This page说明Redis群集如何工作以及在群集模式下如何使用redis-cli时的工作原理。其他客户端可以更好地处理集群模式下的操作,但redis-cli的基本功能应该可以用于简单测试。

如果您检查Redis附带的其他数据结构(例如,哈希或集合)的代码,您会注意到它们没有处理集群模式的代码。这由cluster.c中的代码处理,并且应该与您的实现正交。你确定你已经正确配置了集群和Redis cli吗?