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

Cor*_*ory 10 nosql redis membase

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

Man*_*nto 11

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

数据冗余 设置具有每个键值对的设定数量的复制副本的集群很简单,允许服务器故障转移集群中的不起作用节点而不会丢失数据.但是,Redis的主从复制不提供相同类型的数据冗余.

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

采用: 目前Redis被广泛采用,比Membase更成熟.Membase确实有一些引人注目的用例,例如Zynga和他们的一系列社交游戏.

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

  • "但是可以使用Membase在应用程序逻辑层中实现类似的功能." 事实并非如此,没有任何应用程序逻辑可以为您提供类似于数百万项的排序集. (2认同)

Dan*_*iel 8

Membase是一个巨大的键值存储,具有用于故障转移的持久性和复制.存储在membase中的数据不受"修改"(除了增量).你得到或设置它.

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

  • 除了递增/递减之外,Membase客户端还支持prepend/append命令 (2认同)

quy*_*tnd 6

我在Manto的回答中加入了一些观点:

  1. Redis内置了事务机制,而membase则没有.根据你的工作,这可能很关键
  2. 主 - 主复制有一些缺点比较主从:loosy一致(懒惰对象,异步...),比主从更复杂(因此增加一些延迟).
  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/)