我正在通过本地计算机上的ARR V2尝试缓存解决方案。我有一个指向oringal服务器的单节点服务器场。所有进入我本地计算机的请求都将通过入站规则进行过滤,以便定向到该服务器场。
在ARR缓存操作面板中,我添加了一个缓存控制规则,以便始终将所有对象缓存20分钟,用于指向服务器场的所有请求。在这里,我想我已经覆盖了服务器场的缓存操作面板中的内存缓存持续时间设置。 (如果我错了,请纠正我)
IIS上的其他一些设置包括:
对于用户模式和内核模式都禁用了输出缓存(我觉得对象仍然缓存在内核缓存中)
ARR Cache操作面板中禁用了服务器代理设置(我认为这不会影响,因为服务器场也是代理服务器)
完成所有设置后,我可以看到当我触发Web请求时,所有对象都缓存在我的磁盘缓存中。并通过" netsh http show cache"我还可以观察到它们都缓存在内核缓存(ARR内存缓存)中。
但是,当我再次触发Web请求时,虽然请求未转到原始服务器,但是请求html和图像不会访问内存缓存并通过" netsh http show cache&#34 ;我可以看到他们的命中数仍然是' 1'并刷新它们的TTL与其相应的磁盘缓存对象同步。相比之下,css和javascript总是会打到内存缓存,直到它们过期。在我的MIME列表中,它们都被视为静态文件,所以我不明白为什么它们在这里表现不同。
然后我清除了磁盘缓存对象(主要和次要对象),并再次触发Web请求。现在(请注意,所有对象仍在内存缓存中),只有html和图像缓存在磁盘缓存中,而对css和javascript的请求仍然从内存缓存中提供,因此它们不会出现在磁盘缓存中。 / p>
我刚开始尝试ARR并不完全理解这个概念。希望有人可以提供帮助。
提前致谢。