我正在开发一个用于与Aspera传输文件的webapp应用程序。我们使用AoC作为传输服务器,使用S3存储桶进行存储。
当我使用将一个文件上传到我的s3存储桶时,似乎一切都成功了,我在存储桶中看到了它,当我在父文件夹上运行/ file /浏览时,我看到了目录中的新文件。
我正在重构代码以使用/files/{id}/files端点来列出目录,因为文档说它比/files/浏览端点更快。上传完成后,当我运行/ file /{id}/files GET请求时,新文件不会立即显示在返回的数据中。只有几分钟后才能使用。
有什么缓存机制吗?我在文档里找不到任何关于这个的东西。当我在AoC仪表板中进行传输时,一切都会立即更新。
谢谢你,蒂姆
发布于 2022-03-28 12:18:05
是的,文件id基系统使用内存缓存(redis).
当使用Aspera上载新文件时,将更新此缓存。但是对于直接在存储器上移动的文件,有一个守护进程会定期扫描和查找新文件。
如果您想绕过缓存,并让API读取存储,可以在请求中添加此标头:
X-Aspera-Cache-Control: no-cache另一种可能是通过读取文件夹id的: /files/{id}来触发扫描。
https://stackoverflow.com/questions/70185977
复制相似问题