Membase和Java入门
Membase和Java入门
介绍
现在你已经安装了Membase并且可能已经创建了Membase服务器集群,现在就可以安装客户端库 spymemcached, 并且开始存储数据了。
下面是本文的纲要:
-
下载Java Membase客户端库,spymemcached.
-
创建一个功能层,并且将Membase客户端库设置为引用库(referenced library).
-
写一个简单的程序演示连接到Membase并且存储数据。
-
展示一些简单程序中没有涉及的API方法。
下载Membase客户端库
从Couchbase下载客户端库。这是一个你可以用在你的Java环境中的jar文件。
Hello Membase
你可能很好奇,最简单的与Membase通信的Java程序会是什么样,你应该怎么用Java命名行工具编译并且运行它。如果有兴趣请看下面的清单1。
清单1: Main.java
import java.io.IOException; import java.util.concurrent.TimeUnit; import net.spy.memcached.AddrUtil; import net.spy.memcached.MemcachedClient; public class Main { public static void main(String[] args) { MemcachedClient client; try { client = new MemcachedClient(AddrUtil.getAddresses(args[0])); } catch (IOException e) { e.printStackTrace(); return; } Object spoon = client.get("spoon"); if (spoon == null) { System.out.println("There is no spoon."); client.set("spoon", 10, "Hello World!"); } else { System.out.println((String)spoon); } client.waitForQueues(1, TimeUnit.MINUTES); System.exit(0); } }
-
将清单1中的代码放入一个名为Main.java的文件中。
-
将下载的memcached-2.6.jar文件放到同一个目录。
-
输入下面的命令:
$ javac -cp memcached-2.6.jar Main.java $ java -cp .;memcached-2.6.jar Main 10.0.0.33:11211
当然,需要使用你自己的Memcache服务器IP地址。www.bkjia.com如果你在Linux或者MacOS上操作,将第二个命令行中的分号换成冒号。程序将会产生下面的输出:
2011-05-12 22:11:56.281 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/10.0.0.33:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue 2011-05-12 22:11:56.284 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl @15dfd77 There is no spoon.
这个输出的大部分内容都是客户端库产生的日志,告诉你客户端内部进行到哪一步,可以帮助你分析问题。这儿说的是一个Membase连接已经添加,并且连接状态已经改变。然后代码显示键 spoon 没有在Membase中存在。
在10秒钟之内再次运行这个程序将会产生如下输出:
2011-05-12 22:14:15.800 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/10.0.0.33:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue 2011-05-12 22:14:15.803 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl @15dfd77 Hello World!
你再一次看到日志信息,根据这次的指示,键 spoon 的值“Hello World”在Membase中被找到了。恭喜,你已经在一个更大的世界中迈出了一小步。
|
评论暂时关闭