My favorites | Sign in
Project Home Downloads Wiki Issues
Search
for
Plugin_mapcount  
mapcountプラグインを使う方法。
Updated Mar 29, 2012 by assam...@gmail.com

Mapcount plugin

概要

コノプラグインは、mapタイプの数字を増加/現象する機能を持っています。

準備

設定ファイル

PLUGIN_FILES パラメータを次のように追加します;

 PLUGIN_FILES = ['plugin_mapcount.rb']

コマンド

mapcount_get

この機能は指定されたキーの値を取得するためのものです。

構文

 mapcount_get <key> [<flag> <sub_keys_length>]\r\n
 [<sub_keys>]\r\n

意味

名前 解説 必要条件
キー クライアントがデータを格納するように依頼するキーを指定します。 Yes
<flag> この値は使われません。ROMA はこのオプションを無視します。 いいえ
<sub_keys_length> デリミタの \r\n が無いサブキーのバイト数を指定します。値が0であれば、空が続きます。いいえ
<sub_keys> データのsubkeyを指定します。subキーのデリミタは ',' です。This data of length is <bytes> from the previous line. いいえ

リターンコード

それぞれの項目がサーバによって送信されます。

 VALUE <key> <flag> <bytes>\r\n
 <data block>\r\n
  • <key> は前のコマンドで指定されたキーです。
  • <flag> この値は使われません。常に0を返します。
  • <bytes> は、デリミタの\r\nが無いデータブロックのバイト数です。
  • <data block> はデータです。JSON形式で返します。
  •  {
     "subkey1":value,
     "subkey2":value,
     "last_updated_date":YYYY-MM-DDThh-mi-ss
     }

last_updated_date は、ISO 8601 形式です。

  • 最後に、サーバは文字列を返します。
  •  End\r\n

全ての sub_key を取得する

この例は、キー 'key1' で指定されるデータを取得します。

 mapcount_get key1
                           <- Enter-key だけを押します。 VALUE key1 0 74
 {"aa":2,"bb":1,"cc":1,"d":1,"last_updated_date":"2012-03-19T07:51:33 +00"}
 END

一つの sub_key のデータを取得します。

この例は、'key1'の 'bb' sub_keyのデータを取得します。

 mapcount_get key1 0 2
 bb
 VALUE key1 0 54
 {"last_updated_date":"2012-03-19T07:51:33 +00","bb":1}
 END

二つのsub_keyのデータを取得します。

この例は、'key1'の 'aa' と ''cc' sub_keyのデータを取得します。

 mapcount_get key1 0 5
 aa,cc
 VALUE key1 0 61
 {"last_updated_date":"2012-03-19T07:51:33 +00","aa":2,"cc":1}
 END

キーは存在するが指定されたsub_keyが存在しない場合。

この場合、最後に更新されたデータのみが返ります。

 mapcount_get key1 0 2
 dd
 VALUE key1 0 47
 {"last_updated_date":"2012-03-19T07:51:33 +00"}

指定されたキーが存在しない場合。

この場合、nilが返ります。

 mapcount_get test
 
 END

キーは存在するが、値がmapcountタイプでは無い場合。

この場合、エラーが返ります。

 get key4
 VALUE key4 0 3
 ABD
 END
 mapcount_get key4
 
 SERVER_ERROR incompatible marshal file format (can't be read)  

mapcount_countup

この機能は 指定されたキーの値を 増加または更新 するためのものです。

構文

 mapcount_countup <key> [<exptime> <bytes>]\r\n
 [<sub_keys>]\r\n

意味

名前 解説 必要条件
キー クライアントがデータを格納するように依頼するキーを指定します。 Yes
<exptime> 有効期限(unix timeまたは秒)を指定します。値が0の場合、データは有効期限切れにならないでしょう。値が0では無い場合、unix timeまたは現在の時間からの秒数を指定します。いいえ
<bytes> デリミタの \r\n が無いサブキーのバイト数を指定します。値が0であれば、空が続きます。いいえ
<sub_keys> データのsubkeyを指定します。サブキーのデリミタは ',' です。This data of length is <bytes> from the previous line. いいえ

<sub_keys>

二つの選択肢があります。

  • 値が 1増加する場合。
    サブキーのみを指定します。
  • 指定された数だけ値が増加する場合。
    サブキーと数字を指定します。デリミタは ':' です。
    値を数字分だけ減らす場合は、数値は負数を指定します。
    複数の値を指定する場合は、デリミタは "," です。

リターンコード

mapcount_getを参照してください。

サブキーを登録します。

この例は、'key2'キーの'fs'キーを登録するためのものです。

 mapcount_countup key2 0 2
 fs
 VALUE key2 0 54
 {"fs":1,"last_updated_date":"2012-03-19T06:37:22 +00"}
 END

サブキーを増加します。

この例は'fs'サブキーを増加するためのものです。

 mapcount_countup key2 0 2
 fs
 VALUE key2 0 54
 {"fs":2,"last_updated_date":"2012-03-19T06:37:33 +00"}
 END

いくつかのサブキーを増加します。

この例は'fs'と'ds'サブキーを増加するための物です。

 mapcount_countup key2 0 5
 fs,ds
 VALUE key2 0 61
 {"fs":2,"last_updated_date":"2012-03-19T08:48:26 +00","ds":1}
 END

指定された数でサブキーを増加します。

この例は3つずつ増加します。

 mapcount_get key3 0 2
 aa
 VALUE key3 0 54
 {"last_updated_date":"2012-03-19T07:57:51 +00","aa":1}
 END
 mapcount_countup key3 0 4
 aa:3
 VALUE key3 0 54
 {"aa":4,"last_updated_date":"2012-03-19T07:58:13 +00"}
 END

mapcount_update

この機能は指定されたキーの有効期限だけを更新するためのものです
これは値を更新することはできません。

構文

 mapcount_update <key> [<exptime> <bytes>]\r\n
 [<sub_keys>]\r\n

意味

mapcount_countup を参照してください。

リターンコード

mapcount_getを参照してください。

有効期限だけを更新します。

 mapcount_update key2
 
 VALUE key2 0 54
 {"aa":2,"last_updated_date":"2012-03-19T07:46:43 +00"}
 END

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