クライアントについて
クライアントの詳細については、「spymemcached」をご参照ください。
クライアントのダウンロード方法の詳細については、「spymemcached」をご参照ください。
Java サンプルコード
Java 開発環境を準備します。 Alibaba Cloud Elastic Compute Service (ECS) インスタンスにログインし、インスタンスに Java 開発キット (JDK) と Eclipse などの一般的に使用される統合開発環境 (IDE) をインストールします。
Java JDK (ダウンロードアドレス)
Eclipse (ダウンロードアドレス)
次の Java コードを Eclipse プロジェクトにコピーします。
説明この場合、コードのコンパイルは失敗します。 ApsaraDB for 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";//コンソール上の「インスタンス ID」。ApsaraDB for Memcache の新しいバージョンのユーザー名は空白のままにすることができます。 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("ApsaraDB for Memcache Sample Code"); //後続のデータ検証と読み取りを容易にするために、「ocs」キーを持つデータを ApsaraDB for Memcache に格納します。 String key = "ocs"; String value = "Open Cache Service, from www.Aliyun.com"; int expireTime = 1000; // 有効期限、単位:秒。データの書き込みから計時を開始します。 expireTime が経過すると、データは期限切れになり、読み取られなくなります。 OperationFuture<Boolean> future = cache.set(key, expireTime, value); future.get(); // spymemcached set() メソッドは非同期です。 future.get() は cache.set() 操作が完了するまで待機します。必要に応じて待機しないことも選択できます。 //複数のデータを ApsaraDB for Memcache に格納すると、ApsaraDB for Memcache コンソールで統計情報を確認できます。 for(int i=0;i<100;i++){ key="key-"+i; value="value-"+i; //set 操作を実行し、データをキャッシュに格納します expireTime = 1000; // 有効期限、単位:秒 future = cache.set(key, expireTime, value); future.get(); // 前の (cache.set()) 操作が完了していることを確認します } System.out.println("Set operation is completed."); //get 操作を実行し、キャッシュからデータを読み取ります。「ocs」キーでデータを読み取ります。 System.out.println("Get operation:"+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」キーを持つデータを ApsaraDB for Memcache に格納します。 String key = "ocs"; String value = "Open Cache Service, from www.Aliyun.com"; int expireTime = 1000; // 有効期限、単位:秒。データの書き込みから計時を開始します。 expireTime が経過すると、データは期限切れになり、読み取られなくなります。 OperationFuture<Boolean> future = cache.set(key, expireTime, value); future.get(); //複数のデータを ApsaraDB for Memcache に格納すると、ApsaraDB for Memcache コンソールで統計情報を確認できます。 for (int i = 0; i < 100; i++) { key = "key-" + i; value = "value-" + i; //set 操作を実行し、データをキャッシュに格納します expireTime = 1000; // 有効期限、単位:秒 future = cache.set(key, expireTime, value); future.get(); } System.out.println("Set operation completed."); //get 操作を実行し、キャッシュからデータを読み取ります。「ocs」キーでデータを読み取ります。 System.out.println("Get operation:" + 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 のいくつかの項目を変更します。
ApsaraDB for Memcache インスタンスの ID と内部エンドポイントは一意です。インスタンスのインスタンス ID と内部エンドポイントは、ApsaraDB for Memcache コンソールで確認できます。 ApsaraDB for Memcache インスタンスに接続する場合は、インスタンスの ID とエンドポイントに基づいて、OcsSample1.java の対応する情報を変更する必要があります。
変更後にプログラムを実行します。 main 関数を呼び出すと、Eclipse のコンソールウィンドウで次の結果が表示されます。デバッグのために INFO メッセージが赤で表示される場合は、メッセージを無視してください。
OCS Sample Code Set operation is completed. Get operation: Open Cache Service, from www.Aliyun.com