Ste*_*ead 9 replication database-replication redis
我正在考虑将Java应用程序移植到.NET,该应用程序目前使用EhCache并且坚持要求它支持强一致性(http://ehcache.org/documentation/get-started/consistency-options).
我想用Redis代替EhCache,但Redis是否支持强一致性或仅支持最终的一致性?
我已经看过有关Redis集群的讨论,但我想这还有一段时间了.
或者我看错了吗?如果Redis实例完全坐在不同的服务器上并为两个前端服务器提供服务,那么在我们需要查看Master/Slave风格之前它有多大?
mya*_*mal 13
Redis的单个实例是一致的.在许多实例中存在一致性选项.@antirez(Redis开发人员)最近写了一篇博文,Redis数据模型和最终的一致性,并推荐使用Twemproxy来分割 Redis,这可以让你在很多实例中保持一致性.
我不知道EhCache,所以无法评论Redis是否合适.使用Twemproxy的一个潜在问题(移植到.NET)似乎只能在Linux上运行.
单个Redis实例有多大?取决于你有多少RAM.它会以多快的速度变大?取决于数据的外观.
也就是说,根据我的经验,Redis可以非常有效地存储数据.我拥有的一个应用程序包含200k用户的信息,20k文章,对象之间的所有关系,每周排行榜,统计数据等(400k密钥总计)在400mb RAM中.
Redis易于使用且使用起来很有趣.试一试,看看它是否符合您的需求.如果您决定使用它并且可能有一天想要分片,请从头开始对数据进行分片.
Redis 不是开箱即用的强一致性。您可能需要应用 3rd 方解决方案以使其保持一致。这是文档中的引用:
写安全 Redis Cluster 使用节点间异步复制,最后一次故障转移赢得隐式合并功能。这意味着最后选出的主数据集最终会替换所有其他副本。在分区期间总是有可能丢失写入的时间窗口。然而,在客户端连接到大多数主节点和客户端连接到少数主节点的情况下,这些窗口是非常不同的。
通常你需要有同步复制才能在分布式分区系统中实现强一致性。
| 归档时间: |
|
| 查看次数: |
14006 次 |
| 最近记录: |