

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Memcached クライアントライブラリへの自動検出の追加
<a name="AutoDiscovery.AddingToYourClientLibrary"></a>

自動検出の設定情報は、各 Memcached クラスターノードに冗長的に保存されます。クライアントアプリケーションは、任意のキャッシュノードのクエリを実行し、クラスター内のすべてのノードの設定情報を取得できます。

アプリケーションがこれを行う方法は、キャッシュエンジンバージョンによって異なります。
+ キャッシュエンジンバージョンが **1.4.14 以上**の場合、`config` コマンドを使用します。
+ キャッシュエンジンバージョンが **1.4.14 未満の場合**、`get AmazonElastiCache:cluster` コマンドを使用します。

これらの 2 つのコマンドの出力は同じです。以下の「[[Output Format] (出力形式)](#AutoDiscovery.AddingToYourClientLibrary.OutputFormat)」セクションで説明します。

## キャッシュエンジンバージョン 1.4.14 以降
<a name="AutoDiscovery.AddingToYourClientLibrary.1-4-14-plus"></a>

キャッシュエンジンバージョン 1.4.14 以上の場合、`config` コマンドを使用します。このコマンドは、ElastiCache により Memcached ASCII およびバイナリプロトコルに追加され、ElastiCache クラスタークライアントに実装されます。別のクライアントライブラリで自動検出を使用する場合、`config` コマンドをサポートするためにそのライブラリを拡張する必要があります。

**注記**  
以下のドキュメントは ASCII プロトコルに関連しています。ただし、`config` コマンドでは ASCII とバイナリの両方がサポートされます。バイナリプロトコルを使用する自動検出サポートを追加する場合、「[ElastiCache クラスタークライアントのソースコード](https://github.com/amazonwebservices/aws-elasticache-cluster-client-memcached-for-java/tree/master/src/main/java/net/spy/memcached/protocol/binary)」を参照してください。

**[Syntax]** (構文)

`config [sub-command] [key]`

### オプション
<a name="AutoDiscovery.AddingToYourClientLibrary.1-4-14-plus.Options"></a>


| 名前 | 説明 | 必須 | 
| --- | --- | --- | 
| sub-command |  キャッシュノードの操作に使用されるサブコマンド。自動検出の場合、このサブコマンドは `get` です。  | はい | 
| key |  クラスター設定が格納されたキー。自動検出の場合、このキーの名前は `cluster` です。  | はい | 

クラスターの設定情報を取得するには、以下のコマンドを使用します。

```
config get cluster
```

## キャッシュエンジンバージョン 1.4.14 以前
<a name="AutoDiscovery.AddingToYourClientLibrary.pre-1-4-14"></a>

クラスターの設定情報を取得するには、以下のコマンドを使用します。

```
get AmazonElastiCache:cluster
```

**注記**  
「AmazonElastiCache:cluster」キーには、クラスターの設定情報が存在するため、変更しないことをお勧めします。このキーを上書きした場合、ElastiCache により設定情報が自動的かつ正しく設定されるまで、クライアントの設定が短時間（15 秒以内）不適切になる可能性があります。

## [Output Format] (出力形式)
<a name="AutoDiscovery.AddingToYourClientLibrary.OutputFormat"></a>

`config get cluster` を使用するか `get AmazonElastiCache:cluster` を使用するかにかかわらず、応答は 2 行で構成されます。
+ 設定情報のバージョン番号。クラスターにノードが追加または削除されるたび、バージョン番号は 1 ずつ増加します。
+ キャッシュノードのリスト。リスト内の各ノードは、*hostname\$1ip-address\$1port* グループによって表され、各ノードはスペースで区切られます。

各行の末尾には、キャリッジリターンと改行文字 (CR \$1 LF) が表示されます。データ行には最後に改行文字 (LF) が含まれ、ここに CR \$1 LF が追加されます。バージョン設定行は、CR なしの LF で終了します。

3 つのノードを含むクラスターは、次のように表されます。

```
configversion\n
hostname|ip-address|port hostname|ip-address|port hostname|ip-address|port\n\r\n
```

各ノードは、CNAME およびプライベート IP アドレスと共に表示されます。CNAME は常に存在します。プライベート IP アドレスを使用できない場合は表示されませんが、その場合もパイプ文字「`|`」は出力されます。

**Example**  
設定情報のクエリを実行した場合に返されるペイロードの例を次に示します。  

```
CONFIG cluster 0 136\r\n
12\n
myCluster.pc4ldq.0001.use1.cache.amazonaws.com|10.82.235.120|11211 myCluster.pc4ldq.0002.use1.cache.amazonaws.com|10.80.249.27|11211\n\r\n 
END\r\n
```

**注記**  
2 行目は、設定情報がこれまで 12 回変更されたことを示しています。
3 行目のノードのリストでは、ホスト名がアルファベット順に並んでいます。この順序は、現在クライアントアプリケーションで何を使用しているかにより異なる場合があります。