My favorites | Sign in
Project Home Downloads Wiki Issues
Search
for
プロトコル  
ROMAのプロトコル
Updated Mar 29, 2012 by assam...@gmail.com

Index > Protocol

プロトコル

ROMAのプロトコルはmemcachedのテキストベースのプロトコルと互換性があります。 どのmemcachedクライアントライブラリでもROMAとやり取りをすることができます。

ストレージ コマンド

設定

目的

set は、ROMAにデータを保存するコマンドです。

構文

 set <key> <flags> <exptime> <bytes> [noreply]\r\n
 <datablock>\r\n 

意味

名前 解説 必要条件
キー クライアントがデータを格納するように依頼するキーを指定します。 Yes
<flags> この値は使われません。ROMA はこのオプションを無視します。 Yes
<exptime> 有効期限(unix timeまたは秒)を指定します。値が0の場合、データは有効期限切れにならないでしょう。
値が0では無い場合、unix timeまたは現在の時間からの秒数を指定します。クライアントは有効期限が切れたデータを検索することができません。
Yes
<bytes> デリミタ \r\n を含まないデータブロックのバイト数を指定します。値が0の場合は、空のデータブロックが続きます。 Yes
[noreply] この値は使われません。ROMA はこのオプションを無視します。 いいえ
<datablock> 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. Yes

リターンコード

コマンドラインとデータブロックを送信後、クライアントは次のように応答を待ちます。

  • Success
  •  STORED\r\n 
  • そうでなければ
  •  NOT_STORED\r\n

追加

目的

addは、ROMAがこのキーのデータをまだ持っていない場合にだけ、ROMAにデータを保持するコマンドです。

構文

 add <key> <flags> <exptime> <bytes> [noreply]\r\n
 <datablock>\r\n

意味

名前 解説 必要条件
キー クライアントがデータを格納するように依頼するキーを指定します。 Yes
<flags> この値は使われません。ROMA はこのオプションを無視します。 Yes
<exptime> 有効期限(unix timeまたは秒)を指定します。値が0の場合、データは有効期限切れにならないでしょう。値が0では無い場合、unix timeまたは現在の時間からの秒数を指定します。クライアントは有効期限が切れたデータを検索することができません。 Yes
<bytes> デリミタ \r\n を含まないデータブロックのバイト数を指定します。値が0の場合は、空のデータブロックが続きます。 Yes
[noreply] この値は使われません。ROMA はこのオプションを無視します。 いいえ
<datablock> 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. Yes

リターンコード

コマンドラインとデータブロックを送信後、クライアントは次のように応答を待ちます。

  • Success
  •  STORED\r\n 
  • そうでなければ
  •  NOT_STORED\r\n

置換

目的

replace は、ROMAがこのキーのデータをすでに持ってdoes 場合にだけ、ROMAにデータを保持するコマンドです。

構文

 replace <key> <flags> <exptime> <bytes> [noreply]\r\n
 <datablock>\r\n

意味

名前 解説 必要条件
キー クライアントがデータを格納するように依頼するキーを指定します。 Yes
<flags> この値は使われません。ROMA はこのオプションを無視します。 Yes
<exptime> 有効期限(unix timeまたは秒)を指定します。値が0の場合、データは有効期限切れにならないでしょう。値が0では無い場合、unix timeまたは現在の時間からの秒数を指定します。クライアントは有効期限が切れたデータを検索することができません。 Yes
<bytes> デリミタ \r\n を含まないデータブロックのバイト数を指定します。値が0の場合は、空のデータブロックが続きます。 Yes
[noreply] この値は使われません。ROMA はこのオプションを無視します。 いいえ
<datablock> 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. Yes

リターンコード

コマンドラインとデータブロックを送信後、クライアントは次のように応答を待ちます。

  • Success
  •  STORED\r\n 
  • そうでなければ
  •  NOT_STORED\r\n

追加

目的

appendは、既存のデータの後にこのデータを追加するコマンドです。

構文

 append <key> <bytes> [noreply]\r\n
 <datablock>\r\n

意味

名前 解説 必要条件
キー クライアントがデータを格納するように依頼するキーを指定します。 Yes
<bytes> デリミタ \r\n を含まないデータブロックのバイト数を指定します。値が0の場合は、空のデータブロックが続きます。 Yes
[noreply] この値は使われません。ROMA はこのオプションを無視します。 いいえ
<datablock> 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. Yes

リターンコード

コマンドラインとデータブロックを送信後、クライアントは次のように応答を待ちます。

  • Success
  •  STORED\r\n 
  • そうでなければ
  •  NOT_STORED\r\n

先頭に追加

目的

prependは、既存のデータの前にこのデータを追加するコマンドです。

構文

 prepend <key> <bytes> [noreply]\r\n
 <datablock>\r\n

意味

名前 解説 必要条件
キー クライアントがデータを格納するように依頼するキーを指定します。 Yes
<bytes> デリミタ \r\n を含まないデータブロックのバイト数を指定します。値が0の場合は、空のデータブロックが続きます。 Yes
[noreply] この値は使われません。ROMA はこのオプションを無視します。 いいえ
<datablock> 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. Yes

リターンコード

コマンドラインとデータブロックを送信後、クライアントは次のように応答を待ちます。

  • Success
  •  STORED\r\n 
  • そうでなければ
  •  NOT_STORED\r\n

cas

目的

cas はチェックと設定のコマンドです。ROMAが最後に取得してから誰も更新していない場合のみデータを保存します。

構文

 cas <key> <flags> <exptime> <bytes> <cas unqiue> [noreply]\r\n
 <datablock>\r\n 

意味

名前 解説 必要条件
キー クライアントがデータを格納するように依頼するキーを指定します。 Yes
<flags> この値は使われません。ROMA はこのオプションを無視します。 Yes
<exptime> 有効期限(unix timeまたは秒)を指定します。値が0の場合、データは有効期限切れにならないでしょう。値が0では無い場合、unix timeまたは現在の時間からの秒数を指定します。クライアントは有効期限が切れたデータを検索することができません。 Yes
<bytes> デリミタ \r\n を含まないデータブロックのバイト数を指定します。値が0の場合は、空のデータブロックが続きます。 Yes
<cas unique> 既存のエントリのユニークな64ビット値を指定します。cas コマンドを使うと、クライアントはgetsコマンドでこの値を取得する必要があります。 Yes
[noreply] この値は使われません。ROMA はこのオプションを無視します。 いいえ
<datablock> 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. Yes

リターンコード

コマンドラインとデータブロックを送信後、クライアントは次のように応答を待ちます。

  • Success
  •  STORED\r\n 
  • casコマンドを使って保存しようとしているアイテムは最後に取得してから変更されています。
  •  EXISTS\r\n
  • そうでなければ
  •  NOT_STORED\r\n

取得コマンド

get, gets

目的

get and gets are retrieval commands.

構文

 get <key>\r\n
 gets <key>\r\n

意味

名前 解説 必要条件
キー Specify one or more key strings separated by whitespace. Yes

リターンコード

  • それぞれの項目はサーバによって送信されました。
  •  VALUE <key> <flags> <bytes> [<cas unique>]\r\n 
     <data block>\r\n 
    • <key> は前のコマンドで指定されたキーです。
    • <flags> この値は使われません。
    • <bytes> は、デリミタの\r\nが無いデータブロックのバイト数です。
    • [<cas unique>] はユニークな64ビットの整数です。getsコマンドを使った時のみ。
    • <data block> はデータです。
  • 最後に、サーバは文字列を返します。
  •  END\r\n 

削除コマンド

削除

目的

delete はデータを論理的に削除するコマンドです。

構文

 delete <key> [<time>] [noreply]\r\n 

意味

名前 解説 必要条件
キー ROMAで削除したいキーを指定します。 Yes
[<time>] この値は使われません。ROMA はこのオプションを無視します。 いいえ
[noreply] この値は使われません。ROMA はこのオプションを無視します。 いいえ

リターンコード

コマンドを送信した後で、クライアントは以下のように応答を待ちます。

  • Success
  •  DELETED\r\n
  • そうでなければ
  •  NOT_FOUND\r\n

増加/現象

incr, decr

目的

incr and decr は、既存のデータの値を 増加/減少 するコマンドです。

構文

incr <key> <value> [noreply]\r\n
decr <key> <value> [noreply]\r\n

意味

名前 解説 必要条件
キー 項目を 増加/減少 したいキーを指定します。 Yes
<value> 64ビットの符号無しの整数を指定します。項目の 増加/減少 をしたい値です。 Yes
[noreply] この値は使われません。ROMA はこのオプションを無視します。 Yes

リターンコード

コマンドを送信した後で、クライアントは以下のように応答を待ちます。

  • Success.
  •  <value>\r\n 
  • キーが見つからない場合。
  •  NOT_FOUND\r\n

その他のコマンド

balse

目的

balse は、ROMAをシャットダウンするコマンドです。

構文

balse [<reason>]\r\n
  • サーバは確認をし、それに答えなければなりません。
  • Are you sure?(yes/no)\r\n
    • yes ROMAはすぐにシャットダウンするでしょう。
    • no ROMAは何もせず、この接続は閉じられるでしょう。

意味

名前 解説 必要条件
[reason] ログに書き込まれてる単語を指定します。 いいえ

リターンコード

stats, (stat)

目的

stats は、ROMAが ROMA自身のステータスに伝えるコマンドです。

構文

stats\r\n

statsの一部を表示したい場合は、正規表現で<args>を使う必要があります。

stats <args>\r\n

リターンコード

statsコマンドについての詳細な情報は、Stats_Information を参照してください。


Sign in to add a comment
Powered by Google Project Hosting
TOP
inserted by FC2 system