您好,登錄后才能下訂單哦!
這篇文章給大家介紹Couchbase中環(huán)境搭建與Java的測(cè)試是怎樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
Couchbase Server (前身是 Membase) 是一個(gè)分布式的面向文檔的 NoSQL 數(shù)據(jù)庫(kù)管理系統(tǒng),該系統(tǒng)聯(lián)合了 CouchDB 的簡(jiǎn)單和可靠以及 Memcached 的高性能。
網(wǎng)上有MongoDB與Couchbase的對(duì)比,請(qǐng)參考:
http://www.infoworld.com/d/data-management/nosql-showdown-mongodb-vs-couchbase-214912
Couchbase主頁(yè):http://www.couchbase.com/
目標(biāo)是搭建簡(jiǎn)單的Couchbase環(huán)境并用Java語(yǔ)言進(jìn)行讀寫測(cè)試。
1.準(zhǔn)備工作
1)下載 Couchbase Server ,本文用到的版本是version 2.1.1 for win64 ,2.0在某些機(jī)器上裝不上,內(nèi)核問(wèn)題。
2)下載 Java相關(guān)類庫(kù)
相關(guān)下載鏈接:http://www.couchbase.com/download
2.安裝Couchbase Server
1)安裝過(guò)程很簡(jiǎn)單,在官網(wǎng)下載并安裝即可。
2)安裝完成后Couchbase Console程序會(huì)自動(dòng)打開(kāi)http://localhost:8091地址,這時(shí)候有可能會(huì)打不開(kāi),最有可能出現(xiàn)的問(wèn)題就是端口被占用了。(占用與否,可以用cmd查一下)
這時(shí)再打開(kāi)http://localhost:8091就能自動(dòng)CouchServer 的webconsole安裝頁(yè)面了。
(界面圖)
3.編寫例子進(jìn)行測(cè)試
用eclipse或其它IDE新建Project,導(dǎo)入之前下載的Couchbase-Java-Client-1.1.9.zip中的所有jar包。
新建寫入測(cè)試類:
import java.io.IOException; import java.net.URI; import java.util.LinkedList; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import net.spy.memcached.internal.OperationFuture; import com.couchbase.client.CouchbaseClient; public class Main { //文檔key public static final String KEY = "testkey1"; // expiration time of the document (use 0 to persist forever) //過(guò)期時(shí)間(單位毫秒 0 ***) public static final int EXP_TIME = 0; //文檔值 public static final String VALUE = "{\"myname\":\"EugeneQiu\"," + "\"updated\":\"2013-08-23 13:47:00\"," + "\"description\":\"Just a simple test\"," + "\"myblog\":\"http://my.oschina.net/EugeneQiu\"}"; public static void main(String args[]) { List<URI> uris = new LinkedList<URI>(); //服務(wù)器地址(可在Couchbase后臺(tái)Server NODES中查看) uris.add(URI.create("http://127.0.0.1:8091/pools")); CouchbaseClient client = null; try { //在Couchbase后臺(tái)的Data Buckets中查看 client = new CouchbaseClient(uris, "default", ""); } catch (IOException e) { System.err.println("IOException connecting to Couchbase: " + e.getMessage()); System.exit(1); } OperationFuture<Boolean> setOp = client.set(KEY, EXP_TIME, VALUE); //檢查是否設(shè)置成功 try { if (setOp.get().booleanValue()) { System.out.println("Set Succeeded"); } else { System.err.println("Set failed: " + setOp.getStatus().getMessage()); } } catch (InterruptedException e) { System.err.println("InterruptedException while doing set: " + e.getMessage()); } catch (ExecutionException e) { System.err.println("ExecutionException while doing set: " + e.getMessage()); } System.out.println(); //完成操作后3秒后關(guān)閉client client.shutdown(3, TimeUnit.SECONDS); System.exit(0); } }
運(yùn)行后看到Set Succeeded字樣表示設(shè)置成功。
編寫測(cè)試類進(jìn)行讀?。?/p>
import java.io.IOException; import java.net.URI; import java.util.LinkedList; import java.util.List; import java.util.concurrent.TimeUnit; import com.couchbase.client.CouchbaseClient; public class Client { public static void main(String[] args) { List<URI> uris = new LinkedList<URI>(); uris.add(URI.create("http://127.0.0.1:8091/pools")); CouchbaseClient client = null; try { client = new CouchbaseClient(uris, "default", ""); } catch (IOException e) { System.err.println("IOException connecting to Couchbase: " + e.getMessage()); System.exit(1); } Object o = client.get("testkey1"); System.out.println(o); client.shutdown(3, TimeUnit.SECONDS); System.exit(0); } }
由于寫入例子中設(shè)置的時(shí)間是***,所以這里正確的輸出應(yīng)該是:
我們還能在Couchbase webconsole后臺(tái)的Data buckets中查看到我們剛才設(shè)置的key.(圖有組件布局錯(cuò)亂是我強(qiáng)制縮小網(wǎng)頁(yè)的兼容問(wèn)題)
至此,已經(jīng)完成一個(gè)簡(jiǎn)單的搭建以及測(cè)試。
關(guān)于Couchbase中環(huán)境搭建與Java的測(cè)試是怎樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。