Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Caching 如何使用用户共享的静态URI禁用G-WAN中的微缓存_Caching_Webserver_G Wan - Fatal编程技术网

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

Caching 如何使用用户共享的静态URI禁用G-WAN中的微缓存,caching,webserver,g-wan,Caching,Webserver,G Wan,我使用G-WAN开发了一个网站,我想计算一下,为了显示一些统计数据,调用了多少带有静态URI的页面,但是使用G-WAN的自动缓存系统,我的计数器有时是错误的。有没有办法完全禁用此缓存。我已经用G-WAN提供的KV store开发了一个缓存系统,通过这种方式我可以正确地计算和服务缓存页面,所以我真的不需要G-WAN的自动缓存系统。。。如果有人能解决我的问题,我很感兴趣 干杯,Jérôme我理解你的问题,但是手册和创作者之前关于这个主题的回答都很清楚 简单地说,由于各种原因,不可能禁用微缓存,简单的

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


干杯,Jérôme

我理解你的问题,但是手册和创作者之前关于这个主题的回答都很清楚

简单地说,由于各种原因,不可能禁用微缓存,简单的解决方法是向每个请求添加查询字符串或参数:

?需求/1

?需求/a


您可以忽略自动附加到“查询字符串”中的任何内容,并且仍然使用相同的“页面”或servlet进行统计。

另一方面,所有调用都记录在主机/虚拟主机的日志文件夹中。或者使用代码作为谷歌分析

这里的问题是,为什么需要这些统计数据? 要显示给用户?-这通常不是用户需要的功能。我相信用户更感兴趣的是从一台微缓存的GWAN服务器上得到一个快速的答案,而不是从另一台服务器上得到一个带有统计信息的慢速答案。 这些数据是给你的吗只需使用GWAN服务器主机/虚拟主机日志


如果您真的需要向用户提供特殊反馈,为什么不使用comet流媒体发送信息,如

所述,这里是您可以做的示例(假设您只跟踪特定的URL):


谢谢你的回复。我想我会使用已经在g-wan前端的nginx来添加一个随机参数。如果可以选择停用或激活自动缓存机制,那就太好了,因为在某些情况下,这是一个比优化更重要的问题。缓存在默认情况下是禁用的,只能在
gwan/init.c
文件中启用…统计数据是为用户提供的,否则我将使用google analytics。解析日志文件可能是一个解决方案,但我已经通过计算传入查询实现了统计模块。要使用G-WAN处理程序计算URI,它会在缓存发生之前执行。感谢您提供的示例。事实上,我计算每个请求,而不仅仅是特定的URL。如果我使用处理程序计数,您的意思是之前不会应用微缓存机制吗?“我使用处理程序计数,您的意思是之前不会应用微缓存机制吗?”。是的,乌卡什不会工作。但是,如果您计算所有请求,只需执行-->get_env(argv,CC_HTTP_REQ);CC_HTTP_REQ为所有请求提供全局计数器,但我想为每个URI计数。但是,添加一个随机参数,如client_IP_dateTime或使用处理程序计数,可以解决这个问题。你为什么不接受deepinit的答案?这是正确的答案。如果您的目标是计算URI,然后使用G-WAN处理程序,这将在任何缓存发生之前触发。这正是我想要做的,而不是在csp文件夹中的脚本中计算,我将使用处理程序进行计算。非常感谢。
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