首页 > 解决方案 > PHP/Server 缓存 csv 文件

问题描述

我编写了一个 cron,它从给定的 URL 下载 CSV 文件并根据该文件内容更新数据库。URL 不会改变,URL 下的文件会改变。

我的客户告诉我,更新数据库被延迟,并向我发送了当前文件以与服务器的文件进行比较。我发现服务器上的文件更新延迟,可能是几个小时或 1-2 天。看起来服务器正在使用一些缓存的 CSV 文件而不是下载新文件。我通过添加 "?v=".time() 更改了 url,但它并没有解决问题。

我的问题是 - 是我的服务器缓存文件还是该 URL 下的服务器向我发送了错误的文件(他们可能会检查 IP 并发送缓存文件而不是新文件)。如何检查?如何解决?

标签: phpcachingserver

解决方案


尝试在 url 的末尾添加一个伪随机值,这样它总是会寻找一个新的(未缓存的)版本

file_get_contents('url_here.csv?' . date('Ymd'))"

这应该与 JS/CSS 的“缓存清除”相同


推荐阅读