Indexing Redis和链接哈希
每个人 我想请求社区帮助找到一种方法,通过将巨大的普通表拆分为多个哈希或其他方式来缓存它 表格示例,作为结构示例:Indexing Redis和链接哈希,indexing,hash,redis,nosql,Indexing,Hash,Redis,Nosql,每个人 我想请求社区帮助找到一种方法,通过将巨大的普通表拆分为多个哈希或其他方式来缓存它 表格示例,作为结构示例: A1 B1 C1 D1 E1 X1 A1 B1 C1 D1 E1 X2 A7 B5 C2 D1 E2 X3 A8 B1 C1 D1 E2 X4 A1 B6 C3 D2 E2 X5 A1 B1 C1 D2 E1 X6 这是我们的非规范化数据,我们没有任何能力对其进行规范化。 因此,目前我们必须执行“分组方式”来获取所需的项
A1 B1 C1 D1 E1 X1
A1 B1 C1 D1 E1 X2
A7 B5 C2 D1 E2 X3
A8 B1 C1 D1 E2 X4
A1 B6 C3 D2 E2 X5
A1 B1 C1 D2 E1 X6
这是我们的非规范化数据,我们没有任何能力对其进行规范化。
因此,目前我们必须执行“分组方式”来获取所需的项目,例如获取所有D*我们执行的数据。GroupBy(A1)。GroupBy(B1)。GroupBy(C1)”,这需要很多时间
通过创建复合字符串键,我们暂时找到了解决方法:
A1 -> 'list of lines begin A1'
A1:B1 -> 'list of lines begin A1:B1'
A1:B1:C1 -> 'list of lines begin A1:B1:C1'
...
作为分组操作结果的缓存
问题是如何有效地存储它
非规范化数据中的估计行数约为10万条记录,在我的示例中,有6列,散列中将有6000万个条目。所以,如果可能的话,我正在寻找一种在O(N)中查找值的方法
谢谢。订单总是A->B->C。。。。?可以像groupBy(B)、groupBy(D)、groupBy(A)那样改变顺序吗。。。等等?另一个问题是每列的索引范围是什么?e、 在A[i]/B[i]/C[i]等记录程序A->B->C中,i的最大值是多少,比如国家->州->县->等等。对于A,它大约是2000,对于B,它大约是20000,但是当这个数字总是低于B时。我们总是只有7列。