首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试Rack::Cache在Heroku和memcache上的Sinatra应用程序是否正常工作?

如何测试Rack::Cache在Heroku和memcache上的Sinatra应用程序是否正常工作?
EN

Stack Overflow用户
提问于 2013-03-21 22:09:51
回答 1查看 572关注 0票数 2

我正在制作一个web应用程序,许多用户将在其中查看谷歌地图,地图上的更新通过ajax请求拉到服务器。我希望发送给用户的响应被缓存,因为它涉及从外部服务器抓取数据,并且它只需要每2-3分钟更新一次。

因此,一旦一个人请求数据,我希望在接下来的2-3分钟内从缓存中拉出来自所有其他用户的所有后续请求。我关注了this tutorial,它详细介绍了如何使用Heroku在Sinatra中设置Rack::Cache和Dalli gem,并且当我在使用以下设置的页面上运行测试时,

代码语言:javascript
复制
cache_control :public, max_age: 3000

我可以看到缓存头正确地通过(使用Google Chrome开发人员工具),但是如果我点击刷新,或者如果我从另一台计算机请求页面,内容显然是重新生成的(我放置了一个Time.now输出)。但是,如果我转到另一个页面,然后重新键入URL,则不会重新生成内容。我想是浏览器在缓存结果,而不是memcache服务器?我是不是对缓存的工作原理有根本的误解?

EN

回答 1

Stack Overflow用户

发布于 2015-04-20 12:30:14

对于遇到这个问题的人,这里有一些线索可能会帮助你解决你的问题(帮助我)。

浏览器中的“刷新”会导致“缓存控制: max-age=0":https://groups.google.com/forum/#!topic/rack-cache/sWHyu4pYwKw

清除缓存并删除缓存目录(这对我很有效):https://github.com/rails/rails/issues/5245

使用rspec / other Sinatra, Rack::Test, and Conditional GET requests为其添加规格

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15549874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档