Memcached、Tbstore数据缓存系统对比分析

首先谈谈大名鼎鼎的memcached,这套cache系统很多大公司都在用,比如ebay、amazon、也包括我们啦。

1、Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度;

2、Memcached存储和访问速度非常快,它使用libevent,可以应付任意数量打开的连接(使用epoll,而非poll),使用非阻塞网络IO,分布式散列对象到不同的服务器,查询复杂度是O(1);

3、Memcached客户端支持几乎所有主流开发语言,包括 Perl/PHP/Python/Ruby/Java/C#/C 等;

4、Memcached支持对cache内对象生命周期进行灵活设置;

5、分布式算法采用CRC32;

6、不提供cache内容的复制和持久化;

再说下淘宝的tbstore

1、tbstore是由淘宝实现的高性能、分布式的基于Berkeley DB(一种嵌入式数据库系统,以键值对的形式存储)的cache系统,目前在aliababa集团内部使用非常广泛;

2、客户端支持不是很丰富,好像只支持java;

3、也支持对cache内对象生命周期设置;

4、对cache内容可持久化;

其实我们很容易发现两者的实现非常类似,包括分布式实现的算法;两者最大的区别是memcached基于内存,而tbstore基于Berkeley DB;其缺点也很明显,前者当系统需要新增server或者重启的时候以前的cache内容都会失效,后者接口不丰富,文档支持少。

最新评论:

no.12526 sdfsdfsdf 211.99.232.2 2017-01-11 10:57

fsdfsdafdsfad

no.10133 6vroksy6 188.143.234.155 2016-06-08 12:48

It was dark when I woke. This is a ray of suinesnh.

发表评论:

邮箱: