我在服务器上设置了1年的缓存控件。 如何对AppEngine说“清楚!”从服务器获取新版本?
配置为Flex自定义环境
runtime: custom
env: flex
env_variables:
writecontrolEnv: 'prod'
handlers:
- url: /.*
script: this field is required, but ignored
service: gateway-prod
automatic_scaling:
min_num_instances: 1
max_num_instances: 2
resources:
cpu: 1
memory_gb: 2
disk_size_gb: 10
skip_files:
- node_modules/
network:
instance_tag: gateway
答案 0 :(得分:1)
假设您的应用程序是一个serving the static files,则服务器发送的缓存参数由您的应用程序代码控制。这意味着一旦您部署了带有更新参数的新版本,服务器将发送更新后的值。
但是问题在于缓存实际上是由客户端(或某些中间人网络设备)执行的,因此最终用户只有在达到(在您的情况下非常长的)缓存过期时间之前,才可以访问服务器。因此直到那时它才会看到更新。
您可以尝试清除浏览器的缓存,希望浏览器是进行缓存的浏览器。
为防止将来发生此类情况,您可能希望选择较短的缓存过期时间或使用诸如this one之类的某些缓存清除技术。