从 Blobstore 中删除孤立 blob 的最有效方法是什么?
应用功能和范围:
- 一个(登录的)用户想要创建一个包含一些普通数据存储字段(例如姓名、姓氏、评论)和 blob(图像)的帖子。
- 此外,在通过 POST 发送数据恢复之前,blob 是异步上传的
- 这给孤儿留下了很好的机会,例如,用户可能会上传图像但由于某种原因没有填写表格。通过在发送其余数据之前不使用 blob 的异步上传可以最小化这个问题,但是,这个问题仍然会在较小的范围内存在。
可能但低效的解决方案:
- 每当一个帖子完成(即发送其余数据)时,您将 blob 键添加到“已用 blob”表中。然后,您可以每隔一段时间运行一个 cron 并将所有 blob 与“已用 blob”表进行比较。一个多小时前上传但仍“未使用”的将被删除。
- 我的理解是,遍历可能包含数十万个 blob 键的列表并将其与另一个包含数十万个“已使用 blob 键”的表进行比较是非常低效的。
有没有更好的方法来做到这一点?我搜索了类似的帖子,但找不到任何提及有效的解决方案。
提前致谢!