我需要在Redis 3.0.1中存储32M记录,每条记录需要大约422KB。共制作大约13GB的信息。
信息以压缩的哈希表存储在光盘中,并在smile jackson中序列化。我正在使用Java 6,Jedis和AIX。
我有几个问题:
由于
卡洛斯
答案 0 :(得分:0)
即使您使用Redis群集,您的所有数据都应该适合内存。 有了13TB的数据,正如Alex所指出的那样,并且如你所说的那样仅限于4台服务器,这意味着每台服务器应该有超过4TB的RAM ...
此外,Redis以一种针对速度优化的格式将数据存储在内存中,因此不会非常努力地减小它们的大小。因此在实践中可能需要超过13TB。 这就是为什么我不会在这种情况下推荐Redis,或者至少不推荐Redis。 也许你应该考虑一个替代NoSQL数据库,它提供快速的响应时间,虽然它将数据存储在磁盘上,如Couchbase(它使用Redis internaly作为缓存)。
或者,如果您的用例允许,最简单的解决方案是将Redis缓存添加到当前体系结构,而无需更改您使用的当前数据库。它将显着提高缓存中数据的访问速度(但不会减少第一次访问)。这取决于数据是否可能在短时间内被请求多次。