Java: Spymemcache__客戶端連接實例_快速入門_雲數據庫 Memcache 版-阿裏雲
客戶端下載
Java 代碼示例
準備 Java 開發環境。登錄已有的阿裏雲 ECS 服務器,在上麵安裝 Java JDK 和常用的 IDE(比如 Eclipse)。
Java JDK 下載地址
第一個代碼示例如下,把裏麵的 Java 代碼複製到 Eclipse Project 裏麵去。
注意:此時的代碼是編譯不成功的,因為要想調用 Memcache 緩存服務還需要一個第三方提供的 jar 包下載地址。添加這個 jar 包之後,代碼就能編譯通過了。
OcsSample1.java 代碼示例 (需要用戶名和密碼)
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import net.spy.memcached.AddrUtil;
import net.spy.memcached.ConnectionFactoryBuilder;
import net.spy.memcached.ConnectionFactoryBuilder.Protocol;
import net.spy.memcached.MemcachedClient;
import net.spy.memcached.auth.AuthDescriptor;
import net.spy.memcached.auth.PlainCallbackHandler;
import net.spy.memcached.internal.OperationFuture;
public class OcsSample1 {
public static void main(String[] args) {
final String host = "xxxxxxxx.m.yyyyyyyyyy.ocs.aliyuncs.com";//控製台上的“內網地址”
final String port ="11211"; //默認端口 11211,不用改
final String username = "xxxxxxxxx";//控製台上的“訪問賬號”
final String password = "my_password";//郵件中提供的“密碼”
MemcachedClient cache = null;
try {
AuthDescriptor ad = new AuthDescriptor(new String[]{"PLAIN"}, new PlainCallbackHandler(username, password));
cache = new MemcachedClient(
new ConnectionFactoryBuilder().setProtocol(Protocol.BINARY)
.setAuthDescriptor(ad)
.build(),
AddrUtil.getAddresses(host + ":" + port));
System.out.println("OCS Sample Code");
//向OCS中存一個key為"ocs"的數據,便於後麵驗證讀取數據
String key = "ocs";
String value = "Open Cache Service, from www.Aliyun.com";
int expireTime = 1000; // 過期時間,單位s; 從寫入時刻開始計時,超過expireTime s後,該數據過期失效,無法再讀出;
OperationFuture<Boolean> future = cache.set(key, expireTime, value);
future.get(); // spymemcached set()是異步的,future.get() 等待cache.set()操作結束,也可以不等待,用戶根據自己需求選擇
//向OCS中存若幹個數據,隨後可以在OCS控製台監控上看到統計信息
for(int i=0;i<100;i++){
key="key-"+i;
value="value-"+i;
//執行set操作,向緩存中存數據
expireTime = 1000; // 過期時間,單位s
future = cache.set(key, expireTime, value);
future.get(); // 確保之前(cache.set())操作已經結束
}
System.out.println("Set操作完成!");
//執行get操作,從緩存中讀數據,讀取key為"ocs"的數據
System.out.println("Get操作:"+cache.get(key));
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
if (cache != null) {
cache.shutdown();
}
}//eof
}
OcsSample2.java 代碼示例(不需要用戶名和密碼)
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import net.spy.memcached.AddrUtil;
import net.spy.memcached.BinaryConnectionFactory;
import net.spy.memcached.MemcachedClient;
import net.spy.memcached.internal.OperationFuture;
public class OcsSample2 {
public static void main(String[] args) {
final String host = "xxxxxxxx.m.yyyyyyyyyy.ocs.aliyuncs.com"; //控製台上的“內網地址”
final String port = "11211"; //默認端口 11211,不用改
MemcachedClient cache = null;
try {
cache = new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses(host + ":" + port));
System.out.println("OCS Sample Code");
//向OCS中存一個key為"ocs"的數據,便於後麵驗證讀取數據
String key = "ocs";
String value = "Open Cache Service, from www.Aliyun.com";
int expireTime = 1000; // 過期時間,單位s; 從寫入時刻開始計時,超過expireTime s後,該數據過期失效,無法再讀出;
OperationFuture<Boolean> future = cache.set(key, expireTime, value);
future.get();
//向OCS中存若幹個數據,隨後可以在OCS控製台監控上看到統計信息
for (int i = 0; i < 100; i++) {
key = "key-" + i;
value = "value-" + i;
//執行set操作,向緩存中存數據
expireTime = 1000; // 過期時間,單位s
future = cache.set(key, expireTime, value);
future.get();
}
System.out.println("Set操作完成!");
//執行get操作,從緩存中讀數據,讀取key為"ocs"的數據
System.out.println("Get操作:" + cache.get(key));
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
if (cache != null) {
cache.shutdown();
}
}//eof
}
在 Eclipse 裏麵打開的 OcsSample1.java,根據自己的實例信息修改幾個地方。
每個人買到的雲數據庫 Memcache 實例的 ID 都是不重複的,其對應的阿裏雲內網地址也是獨一無二的,這些信息都在雲數據庫 Memcache 控製台上顯示出來。在同自己的雲數據庫 Memcache 實例建立連接的時候,需要根據這些信息修改 OcsSample1.java 中的對應地方,如以上代碼中紅色部分所示。
信息修改完畢,可以運行自己的程序了。運行 main 函數,會在 Eclipse 下麵的 console 窗口看到下麵這樣的結果(請忽略可能出現的紅色 INFO 調試信息)。
OCS Sample Code
Set操作完成!
Get操作: Open Cache Service, from www.Aliyun.com
最後更新:2016-12-20 18:23:01
上一篇:
客戶端說明__客戶端連接實例_快速入門_雲數據庫 Memcache 版-阿裏雲
下一篇:
PHP: memcached__客戶端連接實例_快速入門_雲數據庫 Memcache 版-阿裏雲
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲