2011-01-08 40 views
1

我已经有了一个web应用程序,并且正在开发iPhone应用程序。我有一个关于在两者之间缓存/同步数据的基本问题。因此,大概80%的iPhone应用程序或多或少地从web应用程序中读取(获取)数据(这对数据很重要,所以它可以让你访问你的统计数据等)。我应该在每次加载屏幕时重新加载这些数据吗?如果是这样,则不需要同步/缓存,因为它每次都是“新鲜的”。然而,在大多数情况下,似乎我会将不必要的请求发送回Web服务器,因为通常数据不会发生变化。使用iphone应用程序同步或缓存来自网络应用程序的数据

我正在考虑以某种方式在手机上本地缓存这些数据,但我不知道这个“最佳实践”是什么。或者,如果我只需要使用Web应用程序中的数据同步iPhone上的sqlite数据库,并在导航控制器标题栏中提供“刷新”按钮以手动请求更新。

我不一定在寻找代码,只是或多或少的把计划放在一起。

对此提出建议?谢谢!

回答

0

这实际上只取决于您的Web服务器上的数据更新的频率。如果它很少更新,那么我会建议在iPhone上缓存数据。但是,如果您的Web服务器上存在一系列活动,并且获得最新信息对您项目的成功至关重要,那么您需要发送GET请求。

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

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

+0

很酷,谢谢。不,数据不会经常改变*,所以我认为这是缓存的好时机。什么是“缓存”某些东西的最佳方法?将数据粘贴在sqlite数据库中,还是有更好的方法? – rpheath 2011-01-08 05:19:06