0

据我了解,Redis 完全在内存中运行,只是将其数据同步回磁盘,这也是它如此之快的主要原因。

他们的网站说虚拟内存已被弃用,围绕该声明的散文似乎表明他们的近期计划不包括继续支持大于系统内存的数据库(老实说,它描述了我的大多数数据库已经使用过,甚至是具有标准化优势的 RDBMS)。

这是否意味着 Redis 不再是数据密集或高流量应用程序中主要或唯一数据存储的合适(长期)候选者?我应该坚持使用 SQL/Mongo/Raven/等吗?对于主要事件,只考虑 Redis 用于偶尔的花里胡哨(缓存等)?

或者是否有人成功地使用 Redis 进行了扩展,而不使用已弃用的 VM 功能?如果是这样,怎么办?

PS 我读过关于Redis Cluster的文章,这显然是一个解决方案,但看起来它还远未准备好迎接黄金时段......

4

1 回答 1

3

在 redis 集群准备好之前,最好的选择是预分片。制作大量实例并使用一致的哈希在它们之间划分您的密钥。然后,当您的数据集增长(或您需要更高的性能)时,取出一半的实例并将它们转移到不同的物理机器上。

但它并不适合所有场景,这是肯定的。如果您有大量数据,请使用不同的数据库。

您还可以将 redis 用于数据的子集 - 时间关键部分 - 并为其余部分使用不同的数据库。

于 2013-03-05T09:11:40.187 回答