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の機能と要望、またはコメントについて

Source: https://habr.com/ru/post/J115920/


All Articles