【问题标题】:Why is Xively sending out-of-date (possibly cached) data?为什么 Xively 会发送过期(可能是缓存的)数据?
【发布时间】:2014-01-14 06:31:48
【问题描述】:

我注意到,当我更新提要(设置新值)然后读取提要时,返回的数据并不总是包含我的上次更新。就好像 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”, “当前值”:“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。

【问题讨论】:

    标签: xively


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 嗨。至于我的设置,我使用 Curl 命令行工具重现了这个问题,如上所述。缓存控制选项似乎都不起作用。我现在已经通过移动开始时间来确保我每次请求不同的 URL 来解决这个问题。
    猜你喜欢
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    相关资源
    最近更新 更多