这个问题很具体,但我实际上在官方文档中找不到任何信息。我想知道MapProxy中的文件缓存的过期时间是多少(无限制?根据上游的缓存控制标头?其他)以及是否可以配置。
默认情况下,缓存中的图块似乎没有过期时间。为了设置过期时间,您可以在任何缓存上使用
refresh_before
配置。
在这里,如果发现瓦片过期,您可以在服务时强制 MapProxy 从源刷新瓦片。
此外,您还可以使用 expires_hours
部分下的
tiles
全局配置设置 Web 浏览器缓存图块的时间量(此配置选项仅适用于 TMS/Tile 服务)。
图块有效的小时数。 TMS 客户端(例如 Web 浏览器)将暂时缓存该图块。在此时间之后,客户端将尝试刷新图块。 MapProxy 支持 ETag 和 Last-Modified 标头,并且如果图块未更改,将使用适当的 HTTP“304 未修改”响应进行响应。
除了前面的答案之外,如果可以使用redis缓存,还可以设置TTL。
https://mapproxy.github.io/mapproxy/latest/caches.html#cache-redis
例如:
redis_cache:
sources: [mywms]
grids: [mygrid]
cache:
type: redis
username: mapproxy
password: iamgreatpassword
default_ttl: 600