【问题标题】:How do I know if images are being cached properly?我如何知道图像是否被正确缓存?
【发布时间】:2012-02-17 09:39:27
【问题描述】:

我在 Heroku 上托管一个 Rails 应用程序,但不确定我的静态图像是否被缓存。以下是我加载相同图像三次的日志。最后两个请求是否从缓存中提供? “陈旧、无效、存储”是什么意思?

这些只是静态资产,我没有使用 Rails 3.1 中的资产管道

    2012-01-24T03:37:27+00:00 app[web.1]: cache: [GET /images/offer-new-reward-button.png?1327376077] miss, store
    2012-01-24T03:37:27+00:00 heroku[nginx]: (ip) - - [24/Jan/2012:03:37:27 +0000] "GET /images/offer-new-reward-button.png?1327376077 HTTP/1.1" 200 3692 "-" "curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5" myapp.heroku.com
    2012-01-24T03:37:27+00:00 heroku[router]: GET myapp.heroku.com/images/offer-new-reward-button.png dyno=web.1 queue=0 wait=0ms service=8ms status=200 bytes=3692

    2012-01-24T03:37:52+00:00 app[web.1]: cache: [GET /images/offer-new-reward-button.png?1327376077] stale, invalid, store
    2012-01-24T03:37:52+00:00 heroku[nginx]: (ip) - - [24/Jan/2012:03:37:52 +0000] "GET /images/offer-new-reward-button.png?1327376077 HTTP/1.1" 200 3692 "-" "curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5" myapp.heroku.com
    2012-01-24T03:37:52+00:00 heroku[router]: GET myapp.heroku.com/images/offer-new-reward-button.png dyno=web.1 queue=0 wait=0ms service=6ms status=200 bytes=3692

    2012-01-24T03:38:25+00:00 app[web.1]: cache: [GET /images/offer-new-reward-button.png?1327376077] stale, invalid, store
    2012-01-24T03:38:25+00:00 heroku[router]: GET myapp.heroku.com/images/offer-new-reward-button.png dyno=web.1 queue=0 wait=0ms service=7ms status=200 bytes=3692
    2012-01-24T03:38:25+00:00 heroku[nginx]: (ip) - - [24/Jan/2012:03:38:25 +0000] "GET /images/offer-new-reward-button.png?1327376077 HTTP/1.1" 200 3692 "-" "curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5" myapp.heroku.com

【问题讨论】:

    标签: ruby-on-rails caching ruby-on-rails-3.1 heroku


    【解决方案1】:

    由于您似乎没有在 Cedar 堆栈上运行,因此您的静态文件应该使用 Varnish 自动缓存。

    更多信息在这里:http://devcenter.heroku.com/articles/http-caching

    要测试您的缓存,只需获取其中一张图像并查看响应标头即可。您应该会看到此处设置的缓存标头以及来自 Varnish 的 via 标头。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-14
      • 2011-01-02
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 1970-01-01
      相关资源
      最近更新 更多