zoukankan      html  css  js  c++  java
  • 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还有相当丰富的内容等着去深入学习。

  • 相关阅读:
    根据不同运行环境配置和组织node.js应用
    python下pip使用bug汇总
    python的虚拟环境
    nginx使用手册--nginx的命令行参数
    nginx使用手册--nginx.conf文件配置详解
    使用async读取异步数据
    [Bootstrap]组件(三)
    [Bootstrap]组件(二)
    [Bootstrap]组件(一)
    [javascript|基本概念|一元操作符]学习笔记
  • 原文地址:https://www.cnblogs.com/pszw/p/3865409.html
Copyright © 2011-2022 走看看