我有一些数据要存储在redis中才能够有效地相交。示例数据:相交的redis集是不完整的
key | members
---------------------------------
101 | "a1", "a2", "a3"
102 | "a2", "a3"
103 | "a2", "a4"
因此,这些密钥的交集会给我
SINTER 101 102 103
1) "a2"
不过,我有一些问题,当这些数据不完整:
key | members
---------------------------------
101 | "a1", "a2", "a3"
102 | "a2", "a3"
103 | "a4", "a5"
在这种情况下,得到相同的三个键的交集会给我一个空集:
SINTER 101 102 103
(empty list or set)
我的目标是获得匹配大多数集合的成员。在redis中有没有办法实现这一点?如果有帮助,我可以改变我的数据集的存储方式。即创建集合的反向版本(成员作为键,作为成员的键)
此外,它可能是有意义的使用比redis更多的其他密钥存储,这可能更适合于此任务?
如果设置的'101'包含了''和'B',设置'102'包含'b'和'c',并且设置'103'包含'c'和'd'? –