如何使用共享给用户的静态URI禁用G-WAN中的微缓存

时间:2013-04-07 08:22:53

标签: caching webserver g-wan

我使用G-WAN开发一个网站,我想计算一个带有静态URI的页面被调用多少以显示一些统计数据,但是使用G-WAN的自动缓存系统我的计数器是错误的有时。有没有办法完全禁用此缓存。我已经开发了一个带有G-WAN的KV存储的缓存系统,这样我可以正确计算和提供缓存页面,所以我真的不需要G-WAN的自动缓存系统...如果有人有解决我感兴趣的问题。

CheersJérôme

3 个答案:

答案 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

中所述的信息