Big Redis设置

时间:2016-01-01 22:47:42

标签: java redis jedis

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

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

我有几个问题:

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

    卡洛斯

1 个答案:

答案 0 :(得分:0)

即使您使用Redis群集,您的所有数据都应该适合内存。 有了13TB的数据,正如Alex所指出的那样,并且如你所说的那样仅限于4台服务器,这意味着每台服务器应该有超过4TB的RAM ...

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

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