Jim*_*mmy 2 python cookies session nginx geoip
这是我正在使用的模块: http: //wiki.nginx.org/HttpGeoipModule
据我所知,由于它是在 nginx 配置和 uwsgi 上配置的,所以看起来别无选择,只能让它在每个页面上运行 geoip,然后仅在需要时收集和使用变量。
从性能的角度来看,我宁愿拥有它,所以我仅在需要时请求 geoip,将其缓存在 cookie 或会话中,然后不再请求它以加快站点速度。
有人能告诉我这是否可能吗?
从性能的角度来看,我宁愿拥有它,所以我仅在需要时请求 geoip,将其缓存在 cookie 或会话中,然后不再请求它以加快站点速度。有人能告诉我这是否可能吗?
是的,这是可能的。但从性能的角度来看,你不应该担心,因为 geoip 数据库存储在内存中(在读取配置阶段),并且 nginx 的查找速度非常快。
无论如何,如果你愿意,你可以使用类似的东西:
set $country $cookie_country;
if ($country == '') {
set $country $geoip_country_code;
add_header Set-Cookie country=$geoip_country_code;
}
uwsgi_param GEOIP_COUNTRY $country;
Run Code Online (Sandbox Code Playgroud)