現在你已經安裝了Membase並且可能已經創建了Membase服務器集群,現在就可以安裝客戶端庫 spymemcached, 並且開始存儲數據了。
下面是本文的綱要:
下載Java Membase客戶端庫,spymemcached.
創建一個功能層,並且將Membase客戶端庫設置為引用庫(referenced library).
寫一個簡單的程序演示連接到Membase並且存儲數據。
展示一些簡單程序中沒有涉及的API方法。
從Couchbase下載客戶端庫。這是一個你可以用在你的Java環境中的jar文件。
你可能很好奇,最簡單的與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.linuxidc.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中被找到了。恭喜,你已經在一個更大的世界中邁出了一小步。