Redis能完全替代MySQL吗?

19

简单的问题,我是否可以在各种 Web 应用程序中使用 Redis 替代 MySQL,如社交网络、地理位置服务等?


1
可以这么做,但问题是你应该这么做吗?在我看来,答案可能并不是所有情况下都是。 - Dominic Rodger
5
我喜欢采用一个数据库系统的想法。 - Travis Glines
2个回答

12

在IT领域,没有什么是不可能的。但有些事情可能会变得非常复杂。

例如,将键值存储用于全文搜索可能会非常痛苦。

此外,据我所见,它缺乏对大型集群数据库的支持:如果您在MySQL中的数据库增长超过100GB,那么您不会遇到任何问题,但在Redis上... 那么就需要更多的努力:-)

因此,请将其用于其开发目的,即存储只需通过ID检索的简单对象。


2
我应该怎样做类似于获取所有键以“user”开头且值小于5的操作? - Travis Glines
@Travis Glines,这是开源的,所以你可以实现它 :-D - BarsMonster
1
Travis Glines:要使该查询存储您的数据以允许您这样做(排序集应适用于此目的)。如果您想进行一般查询,请使用关系数据库。 - rpetrich
你对2017年的那个有什么看法? - AlexioVay

8

ACID合规性是必须的,如果数据完整性很重要。医疗记录和金融交易就是一个例子。包括Redis在内的大多数NoSQL解决方案之所以快速,是因为它们用速度换取了ACID属性。

有时,使用关系数据库更方便表示数据并且查询更简单。

此外,由于关系数据库中的外部关系和约束条件,您的数据更有可能是正确的。在NoSQL解决方案中保持数据同步更加困难。

所以,我不认为我们可以谈论完全替代。它们是不同的工具,适用于不同的任务。我不会用螺丝刀来替代我的锤子。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接