检查服务器镜像是否已经更新并重新下载

Check If Server's Image is Already Updated and Download Again

我想知道什么是缓存图像并将其存储到 Parse.com、加载它、更新缓存等的正确方法

场景是这样的:

  1. 我有一个社交网络应用程序,用户可以在其中上传他们的个人资料照片。
  2. 一旦用户上传图片。我相信我们应该在设备中缓存图像。
  3. 用户还可以从网站上更改他们的头像。

我的问题是,如果用户更新他们的个人资料图片。我如何检测更改并更新缓存?图像缓存库检测自 URL。问题是,URL 始终保持不变。

那么我们如何知道图片是否已经更新并重新下载到设备并替换缓存呢?

谢谢

你可以

  1. 设置图片缓存的有效期。因此,图像缓存会每隔 24 小时左右从服务器重新加载一次最新数据。

  2. 每当用户上传个人资料图片时,在您的服务器上保留 'timestamp' 并在缓存图片时为设备上的每张图片保留本地时间戳 URL。 Check/compare 每次应用程序执行或每次打开个人资料页面时的时间戳。当服务器时间戳较新时,使缓存失效并重新下载新图像。确保每次缓存图像时更新本地缓存时间戳。

  3. 在服务器上维护一个文件'hash'字符串。当您下载图像文件时,在本地创建一个文件哈希并为每个图像维护它 URL。在每次应用程序执行或每次打开配置文件页面时,将本地值与服务器哈希进行比较。如果它们不相同,则使缓存失效并重新下载新图像。确保每次下载文件时更新本地文件哈希。但是,如果您的图像缓存模块不允许您直接访问下载的物理文件,这将无法实现。

我假设您对图像缓存策略有清晰的认识,希望这能回答您关于 'how do we know if the picture is already updated and re-download it to the device and replace the cache?' 的问题。

如果你想知道如何在图像中缓存,你可以使用UIImage+AFNetworking