我使用G-WAN开发一个网站,我想计算一个带有静态URI的页面被调用多少以显示一些统计数据,但是使用G-WAN的自动缓存系统我的计数器是错误的有时。有没有办法完全禁用此缓存。我已经开发了一个带有G-WAN的KV存储的缓存系统,这样我可以正确计算和提供缓存页面,所以我真的不需要G-WAN的自动缓存系统...如果有人有解决我感兴趣的问题。
CheersJérôme
答案 0 :(得分:2)
以下是您可以做的示例(假设您仅跟踪特定网址):
case HDL_AFTER_PARSE:{
data_t * pp = *(data_t**)get_env(argv,US_SERVER_DATA);
char *qs=get_env(argv,QUERY_STRING);
if(qs&&!strncmp(qs,"i_count_those",sizeof("i_count_those")-1)){
++pp->count;
}
} break;
//this is obviously code for handler
答案 1 :(得分:0)
我理解你在问什么,但关于这个主题的创作者的手册和以前的答案都很清楚。
简单地说,由于各种原因,无法禁用微缓存,简单的方法是为每个请求添加查询字符串或参数:
?REQ / 1
?REQ / A
您可以忽略自动添加到“查询字符串”中的任何内容,并仍然使用相同的“页面”或servlet来处理统计信息。
答案 2 :(得分:0)
另一方面,所有呼叫都记录在主机/虚拟主机的日志文件夹中。或者使用代码作为谷歌分析。
这里的问题更多是为什么你需要这些统计数据? 要向用户显示? - 这通常不是用户需要的功能。我相信用户会更有兴趣从微缓存的GWAN服务器获得快速答案,而不是从另一台服务器获得统计信息的慢速答案。 你的统计数据? - 只需使用GWAN服务器主机/虚拟主机日志。
如果您确实需要向用户提供特殊反馈,为什么不使用彗星流来发送http://gwan.ch/api#comet
中所述的信息