【问题标题】:Volley cache update strategyVolley 缓存更新策略
【发布时间】:2016-03-30 20:16:45
【问题描述】:

我使用 volley 作为新闻应用网络库。我希望我的应用程序在第一次连接时,在 web 服务中获取所有可用的新闻,然后每次打开我的应用程序时,如果服务器更新 volley 缓存上有新的新闻可用。问题是更新缓存的常用方法是什么?从服务器发送通知是好的策略还是在每次应用程序打开时检查服务器?

【问题讨论】:

  • 好吧,如果您的情况可行,那么从服务器发送通知显然会更好,因为用户可以连续打开应用程序 100 次,并且每次您都需要发送请求以检查是否有新消息可用。

标签: android caching


【解决方案1】:

有两个主要选项: 1. 使用纯默认 http 缓存(默认 volley 实现或 volley 使用的任何 hhtp 堆栈之一) 2. 使用您自己的自定义缓存,您可以在其中准确定义缓存的方式和内容

我将详细介绍选项 1。您似乎使用这个选项。

当您正常缓存响应时,您不需要外部信息何时更新它们,因为信息包含在返回的缓存标头中。

因此响应(例如一篇文章)可以是: 1) 使用有效缓存进行缓存 - 在这种情况下,没有请求进入网络层 2) 缓存的女巫需要重新验证 - 在这种情况下,您可能会收到新版本的响应或没有正文的 304 响应,这意味着当前缓存有效并且仍然可以使用 3) 未缓存 - 在这种情况下会发出新请求

这意味着如果您的新闻服务器具有正确的缓存标头,您可以在应用启动或活动恢复时随时发出请求以检查新数据,并且您不必担心会收到太多请求发送。特别是如果您的文章更改频率很高,这是更好的选择。

另一方面,如果您没有正确的标题或者您很少更新新闻,则可以选择发送推送通知,但是您需要将这些通知发送给您的所有客户,因此当您有变化多,实施复杂,维护成本高。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2013-05-22
    • 2010-10-06
    • 1970-01-01
    • 2012-09-05
    • 2020-08-03
    • 2011-11-12
    • 2011-01-18
    相关资源
    最近更新 更多