首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Dalli缓存Twitter结果

使用Dalli缓存Twitter结果
EN

Stack Overflow用户
提问于 2011-10-12 04:13:48
回答 1查看 795关注 0票数 4

我是Ruby (和Rails)的新手,希望您能帮助我解决一些困惑。

我正在尝试将Twitter gem集成到我的网站中,以便获得用户的最新推文,并抓取指向他们头像的链接。gem运行良好,直到(我认为是)一个小时内的第100次API调用,之后Twitter会切断你的服务。

从我收集到的信息来看,我需要使用memcache将结果缓存大约1分钟。有一些很棒的pseudocode here,但不幸的是,它有点超出了我的理解。我希望我能得到更多细节。

目前,我不确定我应该把代码放在哪里?我想在应用程序布局视图中显示twitter信息,那么它会进入application_helper.rb文件中的一个方法吗?

我尽最大努力弄清楚这一点,结果得到了以下代码,它抛出了一个"Missing Helper File“错误。

代码语言:javascript
复制
module ApplicationHelper
  require "memcache"

  def twitter
    cache = MemCache.new
    twitter = cache.get("twitter").first
    if twitter.nil?
      begin
        twitter = Twitter.user("TwitterName") 
        cache.set("twitter", twitter, :expires_in => 1.minute) if twitter
      rescue
        twitter = default
      end
    end
    return twitter
  end
end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-12 05:00:43

首先为您的环境启用缓存和memcache (例如config/ environment /production.rb)

代码语言:javascript
复制
# Use a different cache store in production
config.cache_store = :mem_cache_store

然后,在视图中,您想要显示tweet,如下所示

代码语言:javascript
复制
<% cache("tweets", :expires_in => 42.minutes) do  %>
 <% Twitter.user_timeline("User").each do %>
    .....
  <% end %>
<% end %>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7731939

复制
相关文章

相似问题

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