gpt4 book ai didi

memcached - Redis 中 C(n,2) 键的最佳策略

转载 作者:可可西里 更新时间:2023-11-01 11:02:18 27 4
gpt4 key购买 nike

我正在做一个项目,我将向您解释。

我有 N(10000 < N < 100000) 个对象,它们之间的关系可以用整数表示。所以我需要将 C(N,2) 关系存储在数据库中,并能够尽可能快地随机检索它们中的任何一个。

关系是通过算法计算的。因此,对于不同的算法,我们有不同的关系集。算法在不断变化,但活跃的算法将被限制在 3 个以下。

我希望在内存中或磁盘中保留尽可能多的关系,如果随机检索它们比重新计算更快的话。

我发现 redis 是最好的尝试,但我们有 20 亿个对象,所以我希望尽可能减少内存使用。

每个对象和每个算法都由一个 UUID 表示。

我的问题是,最好的策略是什么?我应该使用 redis HashMap 吗?如何使用?我应该使用 redis 虚拟机吗?如何设计键(因为如果简单地连接uuid太长了)?

最佳答案

如果您不能将所有数据存储在主内存中,并且需要使用磁盘,那么 Redis 不是正确的选择。 VM 代码已在 Redis 2.4 中弃用,并在 Redis 2.6 中删除。

此外,存储 UUID 之间的关系并不是特别有效,因为 UUID 不能编码为单个 64 位整数。集合的 Redis 空间优化依赖于对象引用是 64 位整数这一事实(通常,关系由集合与 Redis 实现)。

我认为 Neo4J 或 OrientDB 等图形数据库会更好地为您服务,它们的目的是存储这种关系。

关于memcached - Redis 中 C(n,2) 键的最佳策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16091160/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com