我使用 G-WAN 开发一个网站,我想计算一个具有静态 URI 的页面被调用了多少以显示一些统计信息,但是使用 G-WAN 的自动缓存系统,我的计数器有时是错误的。有没有办法完全禁用这个缓存。我已经使用 G-WAN 提供的 KV 存储开发了一个缓存系统,通过这种方式我可以正确计算和提供缓存页面,所以我真的不需要 G-WAN 的自动缓存系统......如果有人有我感兴趣的问题的解决方案。
干杯热罗姆
这是您可以做什么的示例(假设您仅跟踪特定的 url):
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
我了解您的要求,但是该主题的创建者的手册和先前的答案非常清楚。
简单地说,由于各种原因,不可能禁用微缓存,解决它的简单方法是为每个请求添加查询字符串或参数:
?req/1
?req/a
您可以忽略自动附加到“查询字符串”的任何内容,仍然使用相同的“页面”或 servlet 进行统计。
另一方面,所有呼叫都记录在主机/虚拟主机的日志文件夹中。或者通过使用代码作为谷歌分析。
这里的问题更多的是为什么需要这些统计数据?向用户展示?- 这通常不是用户需要的功能。我相信用户对从微缓存 GWAN 服务器获得快速回答比从另一台服务器获得统计信息的慢速回答更感兴趣。统计数据适合你吗?- 只需使用 GWAN 服务器主机/虚拟主机日志。
如果您确实需要向用户提供特殊反馈,为什么不使用彗星流发送该信息,如http://gwan.ch/api#comet所述