我使用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