Parse.com服务中的缓存策略

时间:2014-10-09 07:13:47

标签: http-headers parse-platform

我知道如果我们在Parse.com服务中使用查询(例如:

),可以设置缓存策略
    ParseQuery query = new ParseQuery("Players");
query.setCachePolicy(ParseQuery.CachePolicy.NETWORK_ELSE_CACHE);

但是如果我只使用Parse的Rest API怎么做呢?应用程序内的对象模型+网络层独立于解析。我只需要它 - json与数据。

curl -X GET   -H "X-Parse-Application-Id: hgjsdgfsjfjsdf"   -H "X-Parse-REST-API-Key: kjsdhfjsfhsdfbjsdfsdhjf"   https://api.parse.com/1/classes/Players

此GET有效,但没有缓存支持。如果有任何解决方法?非常感谢。

1 个答案:

答案 0 :(得分:2)

您将服务器缓存与本地缓存混淆。查询缓存策略是关于本地缓存的。对于iOS SDK,Parse可能使用文件缓存或类似文件,如下文所示:

  

将查询结果缓存在磁盘上通常很有用。这让我们   您在用户的设备离线或应用程序具有时显示数据   刚刚开始,网络请求尚未完成。   Parse在占用时自动刷新缓存   空间太大了。

     

默认查询行为不使用缓存,但您可以启用   通过设置query.cachePolicy进行缓存。例如,尝试网络   如果网络不可用,则返回缓存数据:   (https://parse.com/docs/ios_guide#queries-caching/iOS

您的示例(NETWORK_ELSE_CACHE)记录如下iOS SDK

  

kPFCachePolicyNetworkElseCache   查询首先尝试从网络加载,但如果失败,则从缓存加载结果。如果网络和缓存都没有成功,则存在PFError。

这与缓存控制标头无关。 cache-control指令修改服务器的缓存行为。

如果您想使用REST API而不是提供的SDK,并且想要客户端缓存,则必须自己实现。