Membase和Java入门

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地址。如果你在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 queue2011-05-12 22:11:56.284 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@15dfd77There 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 queue2011-05-12 22:14:15.803 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@15dfd77Hello World!

你再一次看到日志信息,根据这次的指示,键 spoon 的值“Hello World”在Membase中被找到了。恭喜,,你已经在一个更大的世界中迈出了一小步。

乐观者在灾祸中看到机会;悲观者在机会中看到灾祸

Membase和Java入门

相关文章:

你感兴趣的文章:

标签云: