一、引言

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,设置好用户名密码其他都默认。最终出现如下页面:

这样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还有相当丰富的内容等着去深入学习。

Couchbase入门——环境搭建以及HelloWorld的更多相关文章

  1. Windows C#入门环境搭建

    Windows C#入门环境搭建 1. 安装Microsoft .NET Framework目录: C:\Windows\Microsoft.NET\Framework,查看已经安装的版本. 如果未安 ...

  2. ArcGIS API for Silverlight/ 开发入门 环境搭建

    Silverlight/ 开发入门 环境搭建1 Silverlight SDK下载ArcGIS API for Microsoft Silverlight/WPF ,需要注册一个ESRI Gloab ...

  3. Scala深入浅出实战经典---001-Scala开发环境搭建和HelloWorld解析

    001-Scala开发环境搭建和HelloWorld解析 Scala 函数式编程和面向对象结合的语言 函数式编程擅长数值计算 面向对象擅长大型工程和项目的组织以及团队的分工协作 Scala会是下一个伟 ...

  4. Android开发-环境搭建以及HelloWorld

    最近开始进行Android的开发,没有基础完全从0开始.   首先,知道Android开发的官方网站: http://developer.android.com/index.html 网站本身教程非常 ...

  5. 【Android开发】之Android环境搭建及HelloWorld

    原文链接:http://android.eoe.cn/topic/android_sdk Android开发之旅:环境搭建及HelloWorld Android开发之旅:环境搭建及HelloWorld ...

  6. Android最简单的实例 :环境搭建及HelloWorld

    Android开发之旅:环境搭建及HelloWorld 2010-04-12 00:45 by 吴秦, 883961 阅读, 140 评论, 收藏,  编辑 ——工欲善其事必先利其器 引言 本系列适合 ...

  7. Android开发使用控件入门--环境搭建

    Android开发使用控件入门--环境搭建 软件名称(,梦,,想.CAD  ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android S ...

  8. 57.NodeJS入门--环境搭建 IntelliJ IDEA

    转自:https://blog.csdn.net/wang19891106/article/details/51127133 NodeJS入门–环境搭建 IntelliJ IDEA 本人也刚开始学习N ...

  9. NodeJS入门--环境搭建 IntelliJ IDEA

    NodeJS入门–环境搭建 IntelliJ IDEA 本人也刚开始学习NodeJS,所以以此做个笔记,欢迎大家提出意见. 1.首先 下载安装NodeJS,下载安装IntelliJ IDEA 2.接下 ...

随机推荐

  1. Visual Studio高效实用的扩展工具、插件

    说明: 对一个有想法的程序员来说,善于使用一款高效的开发工具是很重要的,今天给大家介绍的是宇宙第一IDE vs用起来很不错的开发工具,假如大家觉得不错也可以尝试的用用,毕竟对于我们这些一天一大半的时间 ...

  2. #Java学习之路——基础阶段二(第八篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  3. golang高并发的理解

    前言 GO语言在WEB开发领域中的使用越来越广泛,Hired 发布的<2019 软件工程师状态>报告中指出,具有 Go 经验的候选人是迄今为止最具吸引力的.平均每位求职者会收到9 份面试邀 ...

  4. cAdvisor+Prometheus+Grafana监控docker

    cAdvisor+Prometheus+Grafana监控docker 一.cAdvisor(需要监控的主机都要安装) 官方地址:https://github.com/google/cadvisor ...

  5. springboot~Money类型在序列化时遇到的问题与解决

    在java扩展包里,有这样一个包,它可以描述货币类型,它说币种和金额组成,可以应用在任何复杂的场合里,这个对象结构如下: { "price": { "amount&quo ...

  6. 微信公众号开发C#系列-9、多公众号集中管理

    1.概述 通过前面8篇关于微信开发相关文章的学习,我们已经对微信常用开发有了一个比较深入的了解.前面的文章都是基于某一特定公众号的,在现实业务中同一单位个体运营着不至一个公众号,此时就需要对多个公众号 ...

  7. js 实现 复制 功能 (zeroclipboard)

    #复制功能因访问权限和安全问题, 被浏览器禁了# 我要实现的功能:点击复制按钮,复制浏览器的当前页面地址,加上用户选择的参数(用户查找过滤),直接将该链接发给别人,点击打开就是对应的查找结果而不是默认 ...

  8. pm2通过配置文件部署nodejs代码到服务器

    一.pm2文档地址: http://pm2.keymetrics.io/ 二.在本地项目下新建ecosystem.config.js文件,并且推送到远端(记得node_modules这个文件夹也得推送 ...

  9. docker(3)容器管理命令

    接着上一篇,今天说一下Docker 有关容器的常用命令.算是比较详细了吧. docker run  命令: 注:此命令作用是使用一个镜像运行启动一个容器. 在启动运行的时候 会检查docker 中是否 ...

  10. .NET CAD二次开发学习第一天

    基于浩辰CAD2019 需求: 开发线转圆简单命令.命令过程:1) 请选择图中直线(要求支持一次选多个):2) 弹出对话框,输入圆的图层名和半径3) 点对话框中确定按钮,结束命令.命令执行效果:所选每 ...