10

Redis 和 Membase 之间的主要区别是什么?

4

3 回答 3

11

可扩展性: Membase 提供分布式键/值存储(就像 Memcache 一样),因此无论您的数据集有多大,写入和读取都将始终在可预测的恒定时间内执行。另一方面,Redis 只提供主从复制,它可以加快读取速度,但不会加快写入速度。

数据冗余 为每个键值对设置具有一定数量的复制副本的集群很简单,允许服务器在不丢失数据的情况下对集群中的不工作节点进行故障转移。然而,Redis 的主从复制不提供这种相同类型的数据冗余。

数据类型: Redis 提供了开箱即用的原子方式处理列表的能力,但可以使用 Membase 在应用程序逻辑层实现类似的功能。

采用: 目前 Redis 比 Membase 被更广泛地采用和成熟一点。Membase 确实有一些备受瞩目的用例,例如 Zynga 和他们的大量社交游戏。

Membase 最近与 Couchbase 合并,他们将拥有一个 Membase 版本,该版本将在下一个主要版本中提供 CouchDB 的 Map/Reduce 和查询/索引功能(计划在 2011 年初左右)。

于 2011-04-07T22:07:02.483 回答
8

Membase 是一个巨大的键值存储,具有持久性和复制功能以进行故障转移。存储在 membase 中的数据不受“修改”(除了增量)的影响。你得到或设置它。

Redis 更像是一个关键数据存储。Redis 允许操作集合、列表、排序列表、散列和其他一些奇怪的数据类型。虽然 redis 具有复制功能,但它更像是一种主/从类型的复制。

于 2011-03-03T06:35:56.680 回答
6

我在 Manto 的回答中添加了一些要点:

  1. Redis 内置了事务机制,而 membase 没有。根据您的工作,这可能很关键
  2. 与主从相比,主-主复制有一些缺点:松散一致(惰性对象,异步......),与主从相比更复杂(因此增加了一些延迟)。
  3. 当前版本的 redis (2.x) 不支持集群。您需要手动对数据库进行分片(检查http://antirez.com/post/redis-presharding.html),而 membase 支持开箱即用的集群并有一个非常好的监控 gui。
  4. (基准可能是**,但人们只是喜欢肮脏的东西)Redis 在高并发情况下似乎有轻微的性能优势。( http://coder.cl/2011/06/concurrency-in-redis-and-memcache/ )
于 2011-07-13T02:31:52.657 回答