إنجن إكس / رديس والتعامل مع بارامس تتبع في رابط

StackOverflow https://stackoverflow.com/questions/1935382

  •  20-09-2019
  •  | 
  •  

سؤال

وأستخدمه إنجن إكس ورديس في موقع الويب الخاص بي. لعدة بنود على موقعي، وأود أن أضيف معلمات التتبع لعناوين المواقع الخاصة بهم بحيث عندما ينقر المستخدم على البند، ويمكن جمع إحصائيات استخدام المستخدم بغض النظر عن خدمة طلب المستخدم المحتوى. أنا أبحث عن أساليب حول كيفية الاستفادة من هذه الإحصاءات في رديس من إنجن إكس، أي دون ضرب تطبيق الخلفية.

لعلى سبيل المثال.، لنفترض أن لدي عدة صفوف من الجداول على صفحتي وكل بنود جدول عقد في شكل صف / عمود. لذلك، على عنصر في {المائدة: 2، المتتابعة: 1، العمود: 3} إذا كان رابط الفعلي هو: www.mysite.com/news/dodi، ثم أريد أن تضمين رابط: www.mysite.com/news / دودي / يوم = 29؟ الجدول = 2 والصف = 1 & العمود = 3. عندما ينقر المستخدم على ذلك، سوف إنجن إكس ضرب رديس لجلب المحتوى وأيضا تحديث الإحصائيات المناسبة (هنا يمكن أن يكون الاضافة يوم 29، الجدول 2، ...).

وأي اقتراح حول كيفية I تحقيق هذا دون ضرب التطبيق الخلفية؟

هل كانت مفيدة؟

المحلول

ولتتبع المعلمات، والحفاظ على هذا النوع من العمل خارج نطاق يطلب من المستخدمين. لا تجعل منهم دفع الغرامة الكمون للاحصائيات تتبع. كرون السيناريو الذي مقتطفات المعلمات من access.log والتحديثات رديس و / أو قاعدة البيانات.

في شروط التخزين المؤقت المحتوى، وهناك صدر مؤخرا إنجن إكس رديس الوحدة النمطية التي تعمل بنفس الطريقة التي يعامل بها وحدة أعطها. فقط 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;
             }
        }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top