我正在做一个项目,我将向你解释。
我有 N(10000 < N < 100000) 个对象,它们中的每一个都有相互关系,可以表示为一个整数。所以我需要将 C(N,2) 关系存储在数据库中,并且能够尽可能快地随机检索其中的任何一个。
这些关系是通过算法计算出来的。因此,使用不同的算法,我们有不同的关系集。算法正在发生变化,但主动算法将被限制在少于 3 个。
我希望将尽可能多的关系保留在内存中,或者如果随机检索它们比重新计算更快,则保留在磁盘中。
我发现 redis 是最好的尝试,但我们有 20 亿个对象,所以我希望尽可能减少内存使用量。
每个对象和每个算法都由一个 UUID 表示。
我的问题是,最好的策略是什么?我应该使用 redis HashMap 以及如何使用?我应该使用redis vm吗?如何设计密钥(因为如果简单地连接 uuid 就太长了)?