Redis支持强一致性吗

Redis支持强一致性吗,redis,replication,database-replication,Redis,Replication,Database Replication,我正在考虑将Java应用程序移植到.NET,该应用程序目前大量使用EhCache,并坚持认为它希望支持强一致性(http://ehcache.org/documentation/get-started/consistency-options) 我想用Redis代替EhCache,但Redis支持强一致性还是只支持最终一致性 我看过关于Redis集群的讨论,但我想这离发布还有一点距离 还是我看错了?如果Redis实例完全位于不同的服务器上,并为两个前端服务器提供服务,那么在我们需要查看主/从式事件

我正在考虑将Java应用程序移植到.NET,该应用程序目前大量使用EhCache,并坚持认为它希望支持强一致性(http://ehcache.org/documentation/get-started/consistency-options)

我想用Redis代替EhCache,但Redis支持强一致性还是只支持最终一致性

我看过关于Redis集群的讨论,但我想这离发布还有一点距离


还是我看错了?如果Redis实例完全位于不同的服务器上,并为两个前端服务器提供服务,那么在我们需要查看主/从式事件之前,它能有多大?

一个Redis实例是一致的。有许多实例的一致性选项@安崔兹(Redis开发者)最近写了一篇博客文章,并推荐使用分片Redis,这将使您在许多情况下保持一致性

我不知道EhCache,所以不能评论Redis是否是合适的替代品。Twemproxy的一个潜在问题(移植到.NET)是它似乎只在Linux上运行

一个Redis实例能有多大?取决于你有多少内存。 它多快会变得这么大?取决于数据的外观

也就是说,根据我的经验,Redis非常高效地存储数据。我拥有的一个应用程序在400mb内存中保存了200000个用户的信息、20k篇文章、对象之间的所有关系、每周的排行榜、统计数据等(总共330k个键)


Redis易于使用,使用起来也很有趣。试试看它是否满足你的需要。如果您确实决定使用它,并且有一天可能想要切分,请从一开始就切分您的数据。

Redis的开箱即用性不强。您可能需要应用第三方解决方案使其一致。以下是docs的报价:

写安全 Redis Cluster在节点之间使用异步复制,最后一次故障切换赢得隐式合并功能。这意味着最后选择的主数据集最终将替换所有其他副本。在分区期间,总有一段时间可能会丢失写操作。但是,对于连接到大多数主机的客户端和连接到少数主机的客户端,这些窗口是非常不同的


在分布式分区系统中,通常需要同步复制以实现强一致性

谢谢,这就足够我继续下去了!在这一点上,这是一个古老的答案,因此关于Twemproxy的注释可能不适用,因为现在有一个标准的Redis切分选项:)