0

我注意到,当我更新提要(设置新值)然后读取提要时,返回的数据并不总是包括我的最后一次更新。就好像 Xively 正在返回一个缓存的响应。最终(大约 5 分钟后)一个请求将导致新的值将被返回。

这是一个开发模式的设备;我可以在更新后立即看到设备的 Xively 状态页面中反映的新值。我还注意到导致数据过期的请求不会出现在 Xively 请求日志中。在发送请求并获得过期响应 5 分钟左右后,请求将出现在请求日志中,并且将返回最新响应。

我像这样更新我的提要: curl -X PUT -d@feedupdate.json -H X-ApiKey:my_key http://api.xively.com/v2/feeds/feed_id.json

其中 feedupdate.json 包含:

{“版本”:“1.0.0”,“数据流”:[{“id”:“stream_id”,“current_value”:“202”}]}

我请求这样的提要状态:

curl -o feedrange.json -H Cache-control:no-cache -H Pragma:no-cache -H X-ApiKey:my_key http://api.xively.com/v2/feeds/feed_id.xml?start=2014 -01-13T10:00:00Z

TIA。

4

1 回答 1

0

据了解,Xively 方面没有任何变化。

话虽如此,我最近也注意到了这个问题。但是,我无法均匀地复制它。尝试在浏览器中访问提要,它是否仍被缓存?尝试不同的互联网连接,它仍然被缓存吗?

我的解决方案是cache-control: no-cache在设备上设置标题,这立即为我解决了问题。这就是我要向您推荐的内容,但您似乎已经将其作为标题传递了。

我建议您查看可以在cache-control标题中设置的其他选项并进行试验。以及尝试其他设备和互联网连接,看看您是否可以找出缓存的位置。

如果您提供了一些有关您的设置的信息,我也会对您有所帮助。语言、硬件、网络设置等。

于 2014-01-13T22:31:48.627 回答