当前位置: 首页 > 科技观察

Couchbase环境搭建及基于Java的测试

时间:2023-03-19 01:08:59 科技观察

CouchbaseServer(原Membase)是一个分布式的面向文档的NoSQL数据库管理系统,它结合了CouchDB的简单可靠和Memcached的高性能。网上有MongoDB和Couchbase的对比,请参考:http://www.infoworld.com/d/data-management/nosql-showdown-mongodb-vs-couchbase-214912Couchbase主页:http://www.couchbase.com/本文的目标是搭建一个简单的Couchbase环境,使用Java语言进行读写测试。一、准备工作1)下载CouchbaseServer。本文使用的版本是2.1.1forwin64。2.0因为内核问题,在某些机器上无法安装。2)下载Java相关类库相关下载链接:http://www.couchbase.com/download二、安装CouchbaseServer1)安装过程非常简单,到官网下载安装即可。2)安装完成后,CouchbaseConsole程序会自动打开http://localhost:8091地址。这时候可能会打不开。最有可能的问题是端口被占用。(有没有被占用,可以用cmd查看)此时打开http://localhost:8091自动安装CouchServer的webconsole页面。(界面图)3、写一个例子进行测试用eclipse或者其他IDE新建一个Project,将之前下载的Couchbase-Java-Client-1.1.9.zip中的jar包全部导入。新写测试类:importjava.io.IOException;导入java.net.URI;导入java.util.LinkedList;导入java.util.List;importjava.util.concurrent.ExecutionException;importjava.util.concurrent.TimeUnit;进口网间谍。memcached.internal.OperationFuture;importcom.couchbase.client.CouchbaseClient;publicclassMain{//文档密钥publicstaticfinalStringKEY="testkey1";//expirationtimeofthedocument(use0topersistforever)//过期时间(以毫秒为单位0***)publicstaticfinalintEXP_TIME=0;//文档值publicstaticfinalStringVALUE="{\"myname\":\"EugeneQiu\","+"\"updated\":\"2013-08-2313:47:00\","+"\"description\":\"Justasimpletest\","+"\"myblog\":\"http://my.oschina.net/EugeneQiu\"}";publicstaticvoidmain(Stringargs[]){Listuris=newLinkedList();//服务器地址(可在Couchbase后台ServerNODES中查看)uris.add(URI.create("http://127.0.0.1:8091/pools"));长椅baseClient客户端=空;try{//Viewclient=newCouchbaseClient(uris,"default","");}catch(IOExceptione){System.err.println("IOExceptionconnectingtoCouchbase:"+e.getMessage());系统.exit(1);}OperationFuturesetOp=client.set(KEY,EXP_TIME,VALUE);//检查是否设置成功try{if(setOp.get().booleanValue()){System.out.println("SetSucceeded");}else{System.err.println("Setfailed:"+setOp.getStatus().getMessage());}}catch(InterruptedExceptione){System.err.println("InterruptedExceptionwhiledoingset:"+e.getMessage());}catch(ExecutionExceptione){System.err.println("ExecutionExceptionwhiledoingset:"+e.getMessage());}System.out.println();//操作完成3秒后关闭客户端client.shutdown(3,TimeUnit.SECONDS);系统.exit(0);}}运行后可以看到SetSucceeded字样,说明设置成功编写一个读取测试类:importjava.io.IOException;导入java.net.URI;导入java.util.LinkedList;导入java.util.List;importjava.util.concurrent.TimeUnit;importcom.couchbase.client.CouchbaseClient;publicclassClient{publicstaticvoidmain(String[]args){Listuris=newLinkedList();uris.add(URI.create("http://127.0.0.1:8091/pools"));CouchbaseClient客户端=空;试试{client=newCouchbaseClient(uris,"default","");}catch(IOExceptione){System.err.println("IOExceptionconnectingtoCouchbase:"+e.getMessage());系统.exit(1);}对象=客户。得到(“testkey1”);System.out.println(o);client.shutdown(3,TimeUnit.SECONDS);系统.exit(0);由于写的例子中设置的时间是***,所以这里正确的输出应该是:我们也可以在Couchbasewebconsole后台的Databuckets中查看刚才设置的key。(图中的组件布局错乱,是我强制收缩网页的兼容性问题。)至此简单的搭建和测试。原文链接:http://my.oschina.net/EugeneQiu/blog/156370