2016-11-05 29 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嗎?