草庐IT

缓存窥探技术

全部标签

ruby-on-rails - 开发中的 Rails.cache.fetch 缓存

像下面这样使用Rails.cache.fetch即使在我的开发环境中也是缓存(缓存关闭):@boat_features=Rails.cache.fetch("boat_features",expires_in:10.minutes)doBoatFeature.allend有人遇到过这个吗? 最佳答案 这很正常。这种缓存在开发中并没有关闭。在以前的应用程序中,这是一个问题,我们使用了内存存储,然后添加了一个中间件,它在每次请求后执行Rails.cache.clear。有点像config.middleware.useClearCache

ruby - 在缓存中找不到元素 - 页面可能在查找后发生了变化(Selenium::WebDriver::Error::StaleElementReferenceError)

我正在尝试单击stackoveflow水平菜单上的所有链接(问题、标签、用户、徽章、未回答)。我有这段代码,但它点击了第一个链接(这个链接是问题),然后打印1,然后出现错误。这可能有什么问题?require'watir-webdriver'classStackoverflowdefclick_all_nav_linksb=Watir::Browser.newb.goto"http://stackoverflow.com"counter=0b.div(:id=>'hmenus').div(:class=>'navmainnavs').ul.lis.eachdo|li|li.a.click

ruby - 在 Sinatra 中缓存响应的最佳方式?

我正在使用我用Sinatra创建的API构建一个简单的应用程序,该API返回一些JSON。这是相当多的JSON,我的应用程序的API依赖于对其他API的数百个请求。我大概可以缓存5天左右的结果,数据完全没有问题。我只是不是100%确定如何实现缓存。我将如何使用Sinatra做到这一点? 最佳答案 就我个人而言,比起memcached,我更喜欢将redis用于此类事情。我有一个应用程序,我非常广泛地使用redis,以与您描述的类似的方式使用它。如果我进行未缓存的调用,页面加载时间会超过5秒,而使用Redis,加载时间会下降到0.3秒左

ruby - 编程技术 : How to create a simple card game

随着我学习Ruby语言,我离实际编程越来越近了。我正在考虑创建一个简单的纸牌游戏。我的问题不是面向Ruby的,但我确实想学习如何使用真正的OOP方法解决这个问题。在我的纸牌游戏中,我想有四名玩家,使用一副有52张牌的标准牌组,没有王牌/万能牌。在游戏中,我不会把A当成双牌,它永远是最高的牌。所以,我想知道的编程问题如下:如何对一副纸牌进行排序/随机化?有四种类型,每种类型有13个值。最终只能有唯一值,因此随机选择值可能会产生重复值。如何实现简单的AI?由于有大量的纸牌游戏,有人应该已经弄清楚了这部分,所以引用会很好。我是一个真正的Rubynuby,我的目标是学习解决问题,所以伪代码会很

ruby-on-rails - 为 memcached 和 Rails 组合片段和对象缓存的最佳方法

假设您有一个显示最新帖子的页面片段,并且您在30分钟后将其过期。我在这里使用Rails。30.minutes)do%>...显然,如果该片段存在,您不需要进行数据库查找来获取最新的帖子,因此您也应该能够避免这种开销。我现在正在做的是Controller中类似这样的东西,它似乎可以工作:unlessRails.cache.exist?"views/recent_posts"@posts=Post.find(:all,:limit=>20,:order=>"updated_atDESC")end这是最好的方法吗?安全吗?我不明白的一件事是为什么片段的键是“recent_posts”,而稍后

ruby-on-rails - 为什么我的自引用模板会破坏控制台和 rake 中的缓存摘要计算,但不会破坏服务器中的缓存摘要计算?

我有两个部分相互引用。当我在控制台中计算嵌套依赖项时(使用一些调试代码输出正在加载哪个模板):finder=ApplicationController.new.lookup_contextActionView::Digestor.new(name:"posts/show",finder:finder).nested_dependencies或者像这样通过rake任务:rakecache_digests:nested_dependenciesTEMPLATE=posts/show我得到一个初始依赖项的简短列表,然后在无限循环中,直到ruby​​堆栈已满:...>>>>>>>users/f

ruby-on-rails - Rails 使用什么 Ruby 技术让我的 Controller 方法呈现 View ?

只是想知道是否有人知道在Rails框架中使用什么Ruby技术来完成以下任务。如果我不在RailsController上编写一个index方法,如果URL匹配该路由,Rails仍会呈现索引View文件。这是有道理的,因为我的Controller继承自父类,它必须有自己的index方法。但是,如果我确实定义了一个index方法,并且只告诉它设置一个实例变量,它仍然会呈现适当的View。例如:defindex@weasels=Weasel.all#IfIomitthisline,Railsrenderstheindexanyway.#Ifthisbehaviorisdefinedinthep

ruby - 将 "Growing Object-Oriented Software"技术应用于 Ruby on Rails

我读了GrowingObject-OrientedSoftware,GuidedbyTests史蒂夫·弗里曼和纳特·普赖斯的作品,给人留下了深刻的印象。我想在我使用RSpec的Rails项目中采用本书的思想,尽管它的示例是用Java编写的。本书的一个基本原则是我们应该模拟接口(interface)而不是具体类。他们说我们可以通过提取接口(interface)并命名来改进应用设计。但是,Ruby没有任何语法等同于Java的接口(interface)。我如何将他们的技术用于Rails项目?更新例如,在第126页作者引入了Auction接口(interface)来实现bid方法。首先,他们模

ruby - 使用 Sinatra 时如何控制静态 Assets 的缓存?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我使用的是最新的Sinatra,并且托管在Heroku上。有没有一种方法可以为从/public目录提供的静态Assets设置缓存header?Sinatra在检查任何已定义的路由之前从/public目录提供文件,所以我不能只在路由中使用cache_control方法。/public目录包含我的应用程序的CSS和JavaScript。我不希望浏览器每次都下载这些文件,因为它们不会经常更改。

ruby-on-rails - 如何使用 Ruby/Rails 缓存方法?

我有一个昂贵(耗时)的外部请求到我需要做的另一个网络服务,我想缓存它。所以我尝试使用这个idiom,通过将以下内容放入应用程序Controller中:defget_listingscache(:get_listings!)enddefget_listings!returnHpricot.XML(open(xml_feed))end当我在我的Controller中调用get_listings!时,一切都很好,但是当我调用get_listings时,Rails提示没有给出block。当我查找该方法时,我发现它确实需要一个block,而且看起来该方法仅适用于View?所以我猜测虽然没有说明,