我使用redis以每個哈希約100k記錄存儲哈希。我想實現給定散列內的記錄過濾(構造)。注意一個哈希條目可以屬於n個過濾器。篩選Redis哈希條目
- 實現每一個過濾器有序集合。 SET內的值對應於HASH中的鍵。
- 從給定的過濾器SET中檢索HASH鍵。
- 一旦我有SET的HASH鍵從HASH中獲取相應的條目。這應該給我屬於過濾器的所有條目。
首先是上述方法在高水平正確嗎?
假設方法正常,我缺少的是檢索HASH條目的最有效實現是什麼?當我有了HASH鍵之後,我是否應該使用PIPELINE排隊多個HGETALL命令,並通過每個HASH鍵?有更好的方法嗎?
我對使用PIPELINE的擔憂是我相信它會在服務命令時阻塞所有其他客戶端。我將分頁過濾結果,每頁有500個結果。在多個基於瀏覽器的客戶端執行過濾的情況下,更不用說填充SET和HASH的後端進程,聽起來像PIPELINE阻塞會引發大量爭用。任何人都可以提供一個觀點嗎?
如果有幫助,我使用2.2.4 redis,predis爲web客戶端和servicestack爲後端。
感謝, 保羅
我試圖做類似的過濾器,但我有大集(1萬條記錄)進行過濾。你有沒有找到更好的方式來過濾redis? – 2016-02-12 06:14:33