【问题标题】:Sync or cache data from a web app with an iphone app使用 iPhone 应用程序同步或缓存来自 Web 应用程序的数据
【发布时间】:2011-06-05 16:04:27
【问题描述】:

我已经有一个网络应用程序,我正在开发一个 iPhone 应用程序。我有一个关于在两者之间缓存/同步数据的基本问题。

因此,可能 80% 的 iPhone 应用程序或多或少地从 web 应用程序读取(获取)数据(它对统计数据很重要,因此它可以让您访问您的统计数据等)。每次加载屏幕时我都应该重新加载这些数据吗?如果是这样,则不需要同步/缓存,因为它每次都是“新鲜的”。但是,在大多数情况下,我似乎会无缘无故地向 Web 服务器发送不必要的请求,因为通常数据不会改变。

我正在考虑以某种方式在手机上本地缓存这些数据,但我不知道对此的“最佳做法”是什么。或者,如果我应该将 iPhone 上的 sqlite DB 与来自 Web 应用程序的数据同步,并在导航控制器标题栏中提供“刷新”按钮以手动请求更新。

我不一定是在寻找代码,只是或多或少地制定了一个计划。

建议?谢谢!

【问题讨论】:

    标签: iphone caching ios


    【解决方案1】:

    这实际上取决于您的网络服务器上的数据多久更新一次。如果它不经常更新,那么我建议在 iPhone 上缓存数据。但是,如果您的 Web 服务器上有大量活动,并且可以访问最新信息被认为是项目成功的关键,那么您将需要发送 GET 请求。

    我不知道 iPhone 是否可以使用 Comet,但如果支持的话,这可能是一种将更新“推送”到您的手机的选项。

    您还可以让手机定期检查服务器是否有更新。如果数据未更改,服务器可能会返回状态代码 304 Not Modified。与在每个 GET 请求中提取实际数据相比,这需要更少的数据。在这种情况下,您只会在未返回 304 的情况下提取新数据。

    【讨论】:

    • 酷,谢谢。不,数据不会经常更改,所以我认为这是一个很好的缓存案例。 “缓存”某些东西的最佳方法是什么?将数据粘贴到 sqlite 数据库中还是有更好的方法?
    • @rpheath - 我不知道那个答案。我建议以其他应用程序为例来确定最佳实践。有时您可以找到旨在展示平台开发人员认为处理常见问题的最佳方法的演示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    相关资源
    最近更新 更多