Membase是什么
网上关于Membase的原创文章很少,即时零星的有几篇,说的有都是一些没有实际内容的介绍。最近在仔细的研究并测试了很多NOsql的数据库,对Membase有了一定的了解,写下来,分享一下。
Membase是一个为交互式网络应用优化了数据存储的key-value类数据管理系统,在对于数据的使用上,Membase和Memcache是兼容的。Membase最大的特点是它横向扩展的方式,这也是和Memcache、Redis、Tokyo Tyrant等最大的区别,后文会详细的描述。
Membase特点
- 第一,兼容Memcache的访问协议,text、binary两种协议都支持,不过话说现在还有几个新出的key-value缓存解决方案不兼容Memcache访问协议的?
- 第二,性能好,通过增加服务器来横向扩展服务,同时服务能力基本是线性增加的。经过实际测试,单服务器4万每秒的写入,两台8万,三台略低于12万,基本可以满足业务需要。
- 第三,安装方案、使用简单、扩展容易,管理界面美观。看管理界面更像一个前端框架的开源项目,而不是数据存储的开源项目,不得不表扬一下。
- 第四,过期数据自动删除,这是一个可持久化存储方案的优点。腾讯的CMEM则不支持这个特性。
- 第五,根据官方文档,跨机房的Membase集群,一致性原则高于可用性,不过考虑到实际业务场景都在内网,基本没有问题。
Membase安装
来这里下载Membase,最新版本是1.6.5.4。安装很简单,安装之后会打开一个URL,下一步下一步进行设置吧。
下面是管理界面的截图,不得不再赞一下。
Membase使用
安装完了,用下面的脚本测试一下吧。更多使用方法,可以参考Memcache基础教程:http://www.ccvita.com/259.html
< ?PHP |
//连接 |
$mem = new Memcache; |
$mem->connect("127.0.0.1",12121); |
//保存数据 |
$mem->set('key','This is first value'); |
$val = $mem->get('key'); |
echo "Get key value: " . $val ."<br />"; |