大 Redis 设置

Big Redis setup

我需要在Redis 3.0.1 中存储32M 条记录,每条记录大约需要422KB。总共制作了大约13GB的信息。

信息以压缩哈希列表的形式存储在光盘中,并在 smile jackson 中序列化。我正在使用 Java 6、Jedis 和 AIX。

我有几个问题:

  1. 这是否意味着 Redis 进程需要 13GB 或 RAM?
  2. 这是单个实例的可管理大小,还是您会选择集群设置?我想我们最多可以有 4 个服务器。这意味着重新审视整个项目和日期,因此请考虑对这个问题的其他管理影响。
  3. 是否有更好的方法来存储如此大量的数据?

谢谢

卡洛斯

即使您使用 Redis 集群,您的所有数据也应该适合内存。 13TB 的数据,如 Alex 所指出的,并且如您所说限制为 4 个服务器,这意味着每个服务器应具有超过 4TB 的 RAM...

此外,Redis 以针对速度优化的格式将数据存储在内存中,因此不会非常努力地减小它们的大小。所以实际上可能需要超过 13TB。 这就是为什么在这种情况下我不推荐 Redis,或者至少不推荐 Redis。 也许你应该考虑一个替代的 NoSQL 数据库,它提供快速的响应时间,尽管它将数据存储在磁盘上,比如 Couchbase(它在内部使用 Redis 作为缓存)。

或者,如果您的用例允许,最简单的解决方案是将 Redis 缓存添加到您当前的架构中,而不更改您当前使用的数据库。它将显着提高对缓存中数据的访问速度(但不会减少首次访问)。这取决于是否可能在短时间内多次请求数据。