Index > プロトコル
目次
Introduction
Protocol
ストアコマンド
set
データをストアするコマンド。
- まず、以下のように入力する。
- <key> データを保存するためのにクライアントが指定する文字列
- <flags> 未サポート
- <exptime> はデータの有効期限。0 の場合は期限切れしない。0 以外の時は、unix time か現時刻からの秒数を指定する。クライアントは、サーバが決めた時間で有効期限が切れたアイテムを検索することはできない。
- <bytes> データブロックのバイト数。\r\nを含まない値。ゼロの場合はデータブロックが無い事を示す。
- <cas unique> 存在するエントリーの 64 bit のユニークな値。"cas" コマンドを使うとき、クライアントは "gets" コマンドでこの値を取得すべきである。
- "noreply" 未サポート
set <key> <flags> <exptime> <bytes> [noreply]\r\n
- このコマンドを送った後にクライアントはデータブロックを送る。<data block> は前のコマンドの <bytes>バイトの長さを持つ 8 bit データ列。
<data block>\r\n
- クライアントは、コマンドラインとデータの送信後に戻り値を待つ。
戻り値を以下に示す。
STORED\r\n
- データをストアしなかったが、エラーが原因ではない。"add" と "replace" の条件に合わなかったか、アイテムが削除キューに入っている。("delete"コマンドを参照)
NOT_STORED\r\n
add
サーバがデータを持たない時に限り、データをストアする
- まず、以下のように入力する。
- <key> データを保存するためのにクライアントが指定する文字列
- <flags> 未サポート
- <exptime> はデータの有効期限。0 の場合は期限切れしない。0 以外の時は、unix time か現時刻からの秒数を指定する。クライアントは、サーバが決めた時間で有効期限が切れたアイテムを検索することはできない。
- <bytes> データブロックのバイト数。\r\nを含まない値。ゼロの場合はデータブロックが無い事を示す。
- <cas unique> 存在するエントリーの 64 bit のユニークな値。"cas" コマンドを使うとき、クライアントは "gets" コマンドでこの値を取得すべきである。
- "noreply" 未サポート
add <key> <flags> <exptime> <bytes> [noreply]\r\n
- このコマンドラインを送った後にクライアントはデータブロックを送る。<data block> は前に送ったコマンドの<bytes>バイトの長さを持つ 8 bit データ列。
<data block>\r\n
- クライアントは、コマンドラインとデータの送信後に戻り値を待つ。
戻り値を以下に示す。
STORED\r\n
- データをストアしなかったが、エラーが原因ではない。"add" と "replace" の条件に合わなかったか、アイテムが削除キューに入っている。("delete"コマンドを参照)
NOT_STORED\r\n
replace
サーバがデータを持つ時に限り、データをストアする。
- まず、以下のように入力する。
- <key> データを保存するためのにクライアントが指定する文字列
- <flags> 未サポート
- <exptime> はデータの有効期限。0 の場合は期限切れしない。0 以外の時は、unix time か現時刻からの秒数を指定する。クライアントは、サーバが決めた時間で有効期限が切れたアイテムを検索することはできない。
- <bytes> データブロックのバイト数。\r\nを含まない値。ゼロの場合はデータブロックが無い事を示す。
- <cas unique> 存在するエントリーの 64 bit のユニークな値。"cas" コマンドを使うとき、クライアントは "gets" コマンドでこの値を取得すべきである。
- "noreply" 未サポート
replace <key> <flags> <exptime> <bytes> [noreply]\r\n
- このラインを送った後にクライアントはデータブロックを送る。<data block> は前に送ったコマンドラインの <bytes> バイトの長さを持つ 8 bit データ列。
<data block>\r\n
- クライアントは、コマンドラインとデータの送信後に戻り値を待つ。
戻り値を以下に示す。
STORED\r\n
- データをストアしなかったが、エラーが原因ではない。"add" と "replace" の条件に合わなかったか、アイテムが削除キューに入っている。("delete"コマンドを参照)
NOT_STORED\r\n
append
存在するキーのデータに、データを追記する。
- まず、以下のように入力する。
- <key> データを保存するためのにクライアントが指定する文字列
- <bytes> データブロックのバイト数。\r\nを含まない値。ゼロの場合はデータブロックが無い事を示す。
- <cas unique> 存在するエントリーの 64 bit のユニークな値。"cas" コマンドを使うとき、クライアントは "gets" コマンドでこの値を取得すべきである。
- "noreply" 未サポート
append <key> <bytes> [noreply]\r\n
- このコマンドラインを送った後にクライアントはデータブロックを送る。<data block>は前のコマンドラインの<bytes>バイトの長さを持つ 8 bit データ列。
<data block>\r\n
- クライアントは、コマンドラインとデータの送信後に戻り値を待つ。
戻り値を以下に示す。
STORED\r\n
- データをストアしなかったが、エラーが原因ではない。"add" と "replace" の条件に合わなかったか、アイテムが削除キューに入っている。("delete"コマンドを参照)
NOT_STORED\r\n
prepend
存在するキーのデータの直前に、データを挿入する。
- まず、以下のように入力する。
- <key> データを保存するためのにクライアントが指定する文字列
- <bytes> データブロックのバイト数。\r\nを含まない値。ゼロの場合はデータブロックが無い事を示す。
- <cas unique> 存在するエントリーの 64 bit のユニークな値。"cas" コマンドを使うとき、クライアントは "gets" コマンドでこの値を取得すべきである。
- "noreply" 未サポート
prepend <key> <bytes> [noreply]\r\n
- このコマンドラインを送った後にクライアントはデータブロックを送る。<data block>は前に送ったコマンドラインの<bytes>バイトの長さを持つ 8 bit データ列。
<data block>\r\n
- クライアントは、コマンドラインとデータの送信後に戻り値を待つ。
戻り値を以下に示す。
STORED\r\n
- データをストアしなかったが、エラーが原因ではない。"add" と "replace" の条件に合わなかったか、アイテムが削除キューに入っている。("delete"コマンドを参照)
NOT_STORED\r\n
検索コマンド
get
<key> は、スペースで区切られたキー文字列。クライアントは 0 か複数個のアイテムを期待する。それぞれにテキストラインの後にデータブロックが続く。
get <key>\r\n
- 全て転送し終わるとサーバは、以下のように終了を示す。
END\r\n
- サーバが送る各アイテムを以下に示す。
- <key> は最初に送られる
- <flags> 未サポート
- <bytes> \r\nを含まないデータブロックのバイト数
- <cas unique> ユニークな整数
- <data block> バイナリデータ
VALUE <key> <flags> <bytes> [<cas unique>]\r\n
<data block>\r\n
削除コマンド
delete
- 削除コマンドのフォーマットを以下に示す。
- <key> サーバから削除したいアイテムのキー
- <time> 未サポート
- noreply 未サポート
delete <key> [<time>] [noreply]\r\n
DELETED\r\n
NOT_FOUND\r\n
その他コマンド
ROMA の停止
ROMA の停止命令を受け、ROMA 全体に停止命令をブロードキャストする。
balse\r\n