php - PHP/Server 缓存 csv 文件
问题描述
我编写了一个 cron,它从给定的 URL 下载 CSV 文件并根据该文件内容更新数据库。URL 不会改变,URL 下的文件会改变。
我的客户告诉我,更新数据库被延迟,并向我发送了当前文件以与服务器的文件进行比较。我发现服务器上的文件更新延迟,可能是几个小时或 1-2 天。看起来服务器正在使用一些缓存的 CSV 文件而不是下载新文件。我通过添加 "?v=".time() 更改了 url,但它并没有解决问题。
我的问题是 - 是我的服务器缓存文件还是该 URL 下的服务器向我发送了错误的文件(他们可能会检查 IP 并发送缓存文件而不是新文件)。如何检查?如何解决?
解决方案
尝试在 url 的末尾添加一个伪随机值,这样它总是会寻找一个新的(未缓存的)版本
file_get_contents('url_here.csv?' . date('Ymd'))"
这应该与 JS/CSS 的“缓存清除”相同
推荐阅读
- c# - 动画后重置回默认状态
- r - 保存包含 for 循环的函数的结果
- java - ArrayIndexOutOfBoundsException:索引 3 超出长度 3 的范围
- vb.net - 如何从javascript调用打开新的winform?
- python - 像这样在 Numba 中实现 cuda gridsync() 是否安全
- javascript - P5.js mousePressed() 函数不起作用,它在 drawfunction 之外
- python-2.7 - 使用 PY2.7 和 Pillow 对图像绘制奇怪的特殊字符
- java - 如何以编程方式使用“dp”设置边距?
- django - 本地版本时 Heroku 找不到模块
- php - 方法 Illuminate\Database\Eloquent\Collection::update 不存在