http_handlersocket_json_module

モジュールの目的は、名前から推測できます。 HandlerSocketはさまざまな言語(主に日本語、英語、最近はロシア語)で広く話されています。

NGX_HTTP_HANDLERSOCKET_JSON_MODULEモジュールは、HandlerSocketプロトコルを介してMySQLデータにアクセスし、JSON形式でデータを送信します。 AJAXの範囲。

ソースコード



構成、機能、および制限については、以下をご覧ください。



設置


インストールは標準で、-add-moduleオプションを使用した構成です。



./configure --add-module=/full/path/to/dir/nginx_http_handlersocket_json_module





さらに

make & sudo make install;





構成


構成は、場所のコンテキストで定義されます。 以下の例:

場所 / json /(。+)/ $ {

hs_json ;



hs_json_host 127 0 0 1 ;

hs_json_port 9998 ;



hs_json_dbテスト;

hs_json_table hs_test ;



hs_json_indexコード; #PRIMARYデフォルト

hs_json_fields keyid value code ;



hs_json_op "=" ; #=デフォルト

hs_json_limit 10 ; #デフォルト10



$ hs_request $ 1を設定します。

}




詳細:



hs_json; -モジュールをアクティブにします



接続パラメーター(デフォルトのホストとポートはlocalhost:9998なので、省略できますが、データベース名を指定する必要があります):

hs_json_host 127.0.0.1;

hs_json_port 9998;

hs_json_dbテスト;



データテーブルと選択したフィールドのリスト(すべてのパラメーターが必要です):

hs_json_table hs_test;

hs_json_fields keyid、value、code;



サンプリングするインデックス:

hs_json_indexコード;

このオプションがない場合、PRIMARYインデックスが使用されます。



操作は、データをサンプリングするための条件です。

hs_json_op "="; #=デフォルト

次の操作が可能です:=、<、<=、>、> =

デフォルトでは、ディレクティブがない場合、操作は「等しい」です



データ出力の制限:

hs_json_limit 10;

指令10がない場合。



データを選択する条件は、$ hs_request変数によって実装されます。 データは、URLの一部として割り当てることができます。

場所 / json /(。+)/ $ {

$ hs_request $ 1を設定します。

}

GETまたはCOOKIES変数のように:

location ~ /json {

set $hs_request $get_id;

}








最初の数文字で都市を選択する必要があります。 リストは10アイテムに制限されています。 都市は表から選択されます:

CREATE TABLE city {

名前VARCHAR 45

id INT

PRIMARY id

KEY `name` ` name`

}

構成の次の部分を使用する場合:

location ~ /city/(.+)/${

..... //

hs_json_index name,

hs_json_fields name;

hs_json_op ">=";

set $hs_request $1;

}






これはクエリの類似物になります: SELECT * FROM city WHERE city_name > = '$ hs_request' LIMIT 10

リクエストはURLの最後の部分から取得されますたとえば、リクエストの場合:http:// myserver.com/city/san/データセットが生成されます:

[{"name":"San Amaro"},{"name":"San Andreas"},{"name":"San Andrs"} ... ]





間違い


  1. 500-間違った構成、プロトコル実装エラー、またはHS応答エラー
  2. 503-HSまたはI / Oエラーへの接続なし
キーが見つからない場合、空の回答が表示されます:{[]}、404エラーは生成されません。



制限事項


バグレポートのすべてのバグ、PMの機能と要望、またはコメントについて



All Articles