Couchbase入門——環境搭建以及HelloWorld


一、引言

       NoSQL(Not Only SQL),火了很久了,一直沒空研究。最近手上一個項目對Cache有一定的要求,借此機會對NoSQL入門一下。支持NoSQL的數據庫系統有很多,  比如Redis,MongoDB等。每種系統都有自己的優缺點,根據實際情況我們選用了Couchbase作為切入點學習。這里有幾種數據庫的比較:http://www.csdn.net/article/2013-04-15/2814886-nosql-benchmark

       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,並作相應配置;可參考:http://blog.csdn.net/qq415734794/article/details/7865826

(3)下載Couchbase Client Libraries: http://www.couchbase.com/communities/java/getting-started

 

三、環境搭建

(1)安裝

          下載安裝包后,直接雙擊安裝

(2)配置

        安裝完成之后,會自動打開地址: http://localhost:8091/index.html 點擊setup,根據提示進行配置,需要注意的是設置好內存大小、Sample Buckets勾選beer-sample,設置好用戶名密碼其他都默認。最終出現如下頁面:

image

這樣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)運行結果:

image


(6)在web console的DataBuckets查看剛剛寫入的值:

image

點擊button “Document”:

image

 

五、源碼以及相關下載

源碼地址:HelloCouchBase.rar

Couchbase Server + Couchbase client library 百度網盤地址:http://pan.baidu.com/s/1kTr7S7l

學習心得:利用 Couchbase做一個helloworld還算是挺容易的,當然Couchbase還有相當豐富的內容等着去深入學習。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM