根据我的理解,Redis完全在内存中运行,只是将其数据同步回磁盘,这是它如此快速的主要原因。
他们的网站说virtual memory已被弃用,围绕该声明的散文似乎表明他们的近期计划不包括对比系统内存更大的数据库的持续支持(说实话,描述了我使用的大多数数据库,甚至是具有规范化优势的RDBMS。)
这是否意味着Redis不再是合理数据密集或高流量应用程序中主要或唯一数据存储的合适(长期)候选者?我应该坚持SQL / Mongo / Raven /等。主要活动,只考虑Redis偶尔的花里胡哨(缓存等)?
或者是否有人使用Redis成功扩展,而不使用已弃用的VM功能?如果是这样,怎么样?
P.S。我已经阅读了Redis Cluster这显然是一个解决方案,但看起来它还没有准备好迎接黄金时段......
答案 0 :(得分:3)
在redis群集准备好之前,最好的选择是预先分片。创建大量实例并使用一致的哈希在其中划分密钥。然后,当您的数据集增长(或者您需要更多性能)时,请将一半实例移动到另一台物理机器上。
但它并不适合所有场景,这是肯定的。如果您有大量数据,请使用其他数据库。
您还可以将redis用于数据的子集 - 时间关键部分 - 以及其余的数据库。