gpt4 book ai didi

url - nginx/redis 和处理 url 中的跟踪参数

转载 作者:IT王子 更新时间:2023-10-29 06:04:53 25 4
gpt4 key购买 nike

我在我的网站上使用了 nginx 和 redis。对于我网站上的几个项目,我想将跟踪参数添加到它们的 url,这样当用户点击一个项目时,除了提供用户请求的内容外,我还可以收集用户使用情况的统计信息。我正在寻找有关如何从 nginx 在 redis 中捕获此统计信息的方法,即不访问后台应用程序。

例如,假设我的页面上有几行表格,每个表格以行/列格式保存项目。因此,对于 {table: 2, row: 1, column: 3} 中的项目,如果实际 url 是:www.mysite.com/news/dodi,那么我想嵌入 url:www.mysite.com/news/dodi/day=29?table=2&row=1&column=3。当用户点击它时,nginx 将访问 redis 以获取内容并更新相应的统计信息(这里可以是 increment day-29,table-2,...)。

关于如何在不点击后台应用程序的情况下实现这一点有什么建议吗?

最佳答案

对于跟踪参数,将此类工作保留在用户请求的范围之外。不要让他们为统计跟踪支付延迟损失。 Cron 从 access.log 中提取参数并更新 redis 和/或数据库的脚本。

在缓存内容方面,有一个最近发布的 nginx redis 模块,其工作方式与 memcached 模块非常相似。目前仅实现了 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;
}
}
}

关于url - nginx/redis 和处理 url 中的跟踪参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1935382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com