一、引言
NoSQL(Not Only SQL),火了很久了,一直没空研究。最近手上一个项目对Cache有一定的要求,借此机会对NoSQL入门一下。支持NoSQL的数据库系统有很多, 比如Redis,MongoDB等。每种系统都有自己的优缺点,根据实际情况我们选用了Couchbase作为切入点学习。这里有几种数据库的比较:
Couchbase,是MemBase与couchDb这两个NoSQL数据库的合并的产物,是一个分布式的面向文档的NoSQL数据库管理系统,即拥有CouchDB的简单和可靠以及Memcached的高性能。(网上搜来的)。本文主要介绍CouchBase的环境搭建,并提供一个java控制台程序的helloworld例子(其实官网上都有的)。官网学习地址:http://docs.couchbase.com/
二、准备工作
(1)下载Couchbase Server 2.5.1 http://www.couchbase.com/couchbase-server/overview
(2)安装Couchbase2.5.1,并作相应配置;可参考:
(3)下载Couchbase Client Libraries: http://www.couchbase.com/communities/java/getting-started
三、环境搭建
(1)安装
下载安装包后,直接双击安装
(2)配置
安装完成之后,会自动打开地址: http://localhost:8091/index.html 点击setup,根据提示进行配置,需要注意的是设置好内存大小、Sample Buckets勾选beer-sample,设置好用户名密码其他都默认。最终出现如下页面:
这样Couchbase Server就装好了。
四、HelloWorld
(1)在eclipse中新建一个java project——HelloCouchBase
(2)新建一个lib,添加下面列出的CouchBase 客户端相应jar包,并添加到build path:
- couchbase-client-1.4.3.jar
- spymemcached-2.11.4.jar
- commons-codec-1.5.jar
- httpcore-4.3.jar
- netty-3.5.5.Final.jar
- httpcore-nio-4.3.jar
- jettison-1.1.jar
如果是maven项目可以直接pom.xml中添加Dependency:
<dependency>
<groupId>com.couchbase.client</groupId>
<artifactId>couchbase-client</artifactId>
<version>1.4.3</version>
</dependency>
(3)在src目录创建——com.wzhang.app.HelloCouchBase
(4)添加如下代码:
public static void main(String[] args) {
ArrayList<URI> nodes = new ArrayList<URI>();
nodes.add(URI.create("http://127.0.0.1:8091/pools"));
CouchbaseClient client = null;
try {
client = new CouchbaseClient(nodes, "default", "");
} catch (Exception e) {
System.err.println("Error connecting to Couchbase: " + e.getMessage());
System.exit(1);
}
// 添加一条记录,key-hello,value-couchbase
try {
client.set("hello", "couchbase!").get();
} catch (Exception e) {
System.out.println(e.getStackTrace());
}
// 取出刚刚我们存进去的key是hello的值
String result = (String) client.get("hello");
System.out.println(result);
// 关闭client
client.shutdown();
}
对上述源码的几点描述:
- Connect ,CouchbaseClient对象通过nodes参数实现多服务器(集群cluster)
- get/set,set用于创建和更新,get用与读取查询数据库中的值
- DisConnect,通过调用shutdown方法来关闭服务器实例,不传参数的话,服务器会等所有的处理都结束后才会关闭,当让你可以传入给定的时间作为参数,如client.shutdown(1,TimeUnit.SECONDS);
(5)运行结果:
(6)在web console的DataBuckets查看刚刚写入的值:
点击button “Document”:
五、源码以及相关下载
源码地址:HelloCouchBase.rar
Couchbase Server + Couchbase client library 百度网盘地址:http://pan.baidu.com/s/1kTr7S7l
学习心得:利用 Couchbase做一个helloworld还算是挺容易的,当然Couchbase还有相当丰富的内容等着去深入学习。