nginxの/ Redisのと、URLの取り扱い追跡のparams
質問
私は私のウェブサイトでnginxのとRedisのを使用しています。私のサイト上でいくつかの項目については、私は、ユーザーが項目をクリックしたとき、私は離れて要求されたコンテンツの利用者にサービスを提供するから、ユーザーの使用状況の統計を収集できるように、そのURLに追跡のparamsを追加したいです。私は、バックグラウンドアプリケーションを押すことなくnginxの、すなわちからのRedisでこの統計情報をキャプチャする方法についての方法を探しています。
のために例えば、私は私のページの表と行/列形式で、各テーブルの保留項目のいくつかの行があるとします。だから、中項目の{テーブル:2、行1、列:3}実際のURLである場合:www.mysite.com/news/dodi、私はURLを埋め込みたい:www.mysite.com/news / dodi /日= 29?テーブル= 2&行= 1&カラム= 3。ユーザーがそれをクリックすると、nginxのは、コンテンツをフェッチしても、適切な統計を更新するのRedisをヒットします(ここでは...、テーブル-2、インクリメント日-29することができます)。
私は、バックグラウンドアプリを押すことなくこれを達成する方法?上の任意の提案
解決
トラッキングパラメータについて、ユーザ要求の範囲外この種の作業を続けます。彼らは追跡統計のための待ち時間のペナルティを支払うしないでください。クーロンのaccess.logと更新Redisの及び/又はデータベースからパラメータを抽出するスクリプト
キャッシュコンテンツの面では、memcachedのモジュールとほとんど同じように動作し、最近リリースされnginxののRedisのモジュールがあります。唯一のGETとSELECTは、現在実装されています。仮定は、アプリケーションがキャッシュに移入されていることである。
http://wiki.nginx.org/Nginx3rdPartyModules#HTTP_Redis_Moduleする
サンプルnginx.confます:
http
{
...
server {
location / {
set $redis_db "0";
set $redis_key "$uri?$args";
redis_pass 127.0.0.1:6379;
error_page 404 502 504 = @fallback;
}
location @fallback {
proxy_pass backed;
}
}
}