Alist プラグイン
概要
このプラグインはlistタイプのデータを格納する機能を持っています。
準備
設定ファイル
PLUGIN_FILES パラメータを次のように追加します;
PLUGIN_FILES = ['plugin_alist.rb']
コマンド
alist_at
alist_at は、キーで指定された要素のリストのインデックス番号を返すコマンドです。
構文
alist_at <key> <index>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
<index>
| クライアントがデータを格納するように依頼するインデックス番号を指定します。開始番号は0です。 | Yes |
リターンコード
Success
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n
- <key> は前のコマンドで指定されたキーです。
- <flags> この値は使われません。常に0です。
- <bytes> は、デリミタの\r\nが無いデータブロックのバイト数です。
- <data block> はデータです。
最後に、サーバはそれらの文字列を送信します。 END\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_clear
alist_clear は、キーで指定されるリストを消去するコマンドです。しかし、キーはROMAに残ります。
構文
alist_clear <key>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
リターンコード
Success
CLEARED\r\n
キーが存在しない時。
NOT_FOUND\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_delete
alist_delete は、キーでしていされるリストから”data clock"の値を削除するコマンドです。
構文
alist_delete <key> <bytes>\r\n
<data block>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
<bytes> | デリミタの\r\nが無いサブキーのバイト数を指定します。値が0であれば、空が続きます。 | Yes |
<data block> | 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. | Yes |
リターンコード
Success
DELETED\r\n
キーが存在しない時。
NOT_FOUND\r\n
データブロックが無い時。
NOT_DELETED\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_delete_at
alist_delete_at は、キーで指定されるリストからインデックス番号の要素を削除するコマンドです。
構文
alist_delete_at <key> <index>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
<index>
| クライアントがデータを格納するように依頼するインデックス番号を指定します。開始番号は0です。 | Yes |
リターンコード
Success
DELETED\r\n
キーが存在しない時。
NOT_FOUND\r\n
インデックスが存在しない場合。
NOT_DELETED\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_empty?
alist_empty? は、キーで指定されたリストが空かどうかを返すコマンドです。
構文
alist_empty? <key>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
リターンコード
キーでシテイサレタリストが空の場合。
true\r\n
キーデ指定されたリストが存在する場合。
false\r\n
キーが存在しない時。
NOT_FOUND\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_first
alist_first は、キーで指定されたリストの最初の要素を返すコマンドです。
構文
alist_first <key>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
リターンコード
Success
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n
- <key> は前のコマンドで指定されたキーです。
- <flags> この値は使われません。常に0です。
- <bytes> は、デリミタの\r\nが無いデータブロックのバイト数です。
- <data block> はデータです。
最後に、サーバはそれらの文字列を送信します。 END\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_gets
alist_gets は、キーで指定されるリストの一部分または全てを返すコマンドです。
構文
alist_gets <key> [<index>]\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
<index>
| クライアントがデータを格納するように依頼するインデックス番号を指定します。開始番号は0です。 | Yes |
リターンコード
Success
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n
- <key> は前のコマンドで指定されたキーです。
- <flags> この値は使われません。常に0です。
- <bytes> は、デリミタの\r\nが無いデータブロックのバイト数です。
- <data block> はデータです。
最初のデータブロックは値の数です。
次のデータブロックは値のそれぞれの値です。
最後に、サーバはそれらの文字列を送信します。 END\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_gets_with_time
alist_gets_with_time は、キーで指定されるリストの一部分または全てを返すコマンドです。
構文
alist_gets_with_time <key> [<index>]\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
[<index>] | クライアントがデータを格納するように依頼するインデックス番号を指定します。開始番号は0です。 | Yes |
リターンコード
Success
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n
- <key> は前のコマンドで指定されたキーです。
- <flags> この値は使われません。常に0です。
- <bytes> は、デリミタの\r\nが無いデータブロックのバイト数です。
- <data block> はデータです。
最初のデータブロックは値の数です。
次のデータブロックはそれぞれの値と値の時間です。値が時間のデータの場合、このフォーマットはUnix timeです。
最後に、サーバはそれらの文字列を送信します。 END\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_include?
alist_include? は、キーで指定されたリストが <data block> の値を含んでいるかどうかを返すコマンドです。
構文
alist_include? <key> <bytes>\r\n
<data block>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
<bytes> | デリミタの\r\nが無いサブキーのバイト数を指定します。値が0であれば、空が続きます。 | Yes |
<data block> | 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. | Yes |
リターンコード
キーで指定されたリストが含まれる場合。
true\r\n
キーで指定されたリストが含まれていない場合。
false\r\n
キーが存在しない時。
NOT_FOUND\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_index
alist_index は、キーで指定されたリストが <data block> の値を含んでいる時のインデックスの値を返すコマンドです。
構文
alist_index <key> <bytes>\r\n
<data block>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
<bytes> | デリミタの\r\nが無いサブキーのバイト数を指定します。値が0であれば、空が続きます。 | Yes |
<data block> | 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. | Yes |
リターンコード
Success
<size>\r\n
キーで指定されるリストが<data block> の値に含まれていない場合。
nil\r\n
キーが存在しない時。
NOT_FOUND\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_insert
alist_insert は、キーで指定されるリストのインデックス番号に要素を追加するコマンドです。
構文
alist_insert <key> <index> <bytes>\r\n
<data block>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
<index>
| クライアントがデータを格納するように依頼するインデックス番号を指定します。開始番号は0です。 | Yes |
<bytes> | デリミタの\r\nが無いサブキーのバイト数を指定します。値が0であれば、空が続きます。 | Yes |
<data block> | 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. | Yes |
リターンコード
Success
STORED\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_sized_insert
alist_sized_insert は、二つのことを実行するコマンドです。
まず、キーで指定されるリストの先頭に"data block"の値を保存します。
それから、"array-size"の値でリストの長さの制限を設定します。
リストの要素が"array-size"の値よりも長い場合は、このコマンドはそれらをリストから削除するでしょう。
構文
alist_sized_insert <key> <array-size> <bytes>\r\n
<data block>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
<array-size> | リストの中の酔うその数を指定します。 | Yes |
<bytes> | デリミタの\r\nが無いサブキーのバイト数を指定します。値が0であれば、空が続きます。 | Yes |
<data block> | 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. | Yes |
リターンコード
Success
STORED\r\n
値を保存できない時。
NOT_STORED\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_last
alist_last は、キーで指定されるリストの最後の要素を返すコマンドです。
構文
alist_last <key>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
リターンコード
Success
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n
- <key> は前のコマンドで指定されたキーです。
- <flags> この値は使われません。常に0です。
- <bytes> は、デリミタの\r\nが無いデータブロックのバイト数です。
- <data block> はデータです。
最後に、サーバはそれらの文字列を送信します。 END\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_length
alist_length は、キーで指定されるリストの長さを返すコマンドです。
構文
alist_length <key>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
リターンコード
Success
<size>\r\n
キーが存在しない時。
NOT_FOUND\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_update_at
alist_update_at は、リストの中の<index>番目の要素を <data block>の値で置き換えるコマンドです。
構文
alist_update_at <key> <index> <bytes>\r\n
<data block>\r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
<index>
| クライアントがデータを格納するように依頼するインデックス番号を指定します。開始番号は0です。 | Yes |
<bytes> | デリミタの\r\nが無いサブキーのバイト数を指定します。値が0であれば、空が続きます。 | Yes |
<data block> | 任意の8ビットのデータのチャンクを指定します。This data of length is <bytes> from the previous line. | Yes |
リターンコード
Success
STORED\r\n
キーが存在しない時。
NOT_FOUND\r\n
インデックスが存在しない場合。
NOT_FOUND\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n
alist_to_s
alist_to_s は、文字タイプの値を返すコマンドです。
構文
alist_to_s <key> [<index>] \r\n
意味
名前 | 解説 | 必要条件 |
キー | クライアントがデータを格納するように依頼するキーを指定します。 | Yes |
<index>
| クライアントがデータを格納するように依頼するインデックス番号を指定します。開始番号は0です。 | Yes |
リターンコード
Success
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n
- <key> は前のコマンドで指定されたキーです。
- <flags> この値は使われません。常に0です。
- <bytes> は、デリミタの\r\nが無いデータブロックのバイト数です。
- <data block> はデータです。
最初のデータブロックは値の数です。
次のデータブロックは値のそれぞれの値です。
最後に、サーバはそれらの文字列を送信します。 END\r\n
そうでなければ
SERVER_ERROR #{ error messages }\r\n