gpt4 book ai didi

ruby-on-rails - 使用 Dalli 缓存 Twitter 结果

转载 作者:数据小太阳 更新时间:2023-10-29 07:30:56 24 4
gpt4 key购买 nike

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

我正在尝试集成 Twitter gem进入我的网站以获取用户的最新推文,并获取指向他们个人资料图片的链接。在一个小时内(我认为是)第 100 次 API 调用之前,该 gem 一直运行良好,之后 Twitter 将切断您的联系。

根据我收集到的信息,我需要使用内存缓存将结果缓存约 1 分钟。有一些很棒的pseudocode here但不幸的是,这有点让我头疼。我希望我能得到更多细节。

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

我为解决这个问题所做的最佳尝试产生了以下代码,它引发了“缺少帮助文件”错误。

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

最佳答案

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

# Use a different cache store in production
config.cache_store = :mem_cache_store

然后在你想显示推文的 View 中做这样的事情

<% cache("tweets", :expires_in => 42.minutes) do  %>
<% Twitter.user_timeline("User").each do %>
.....
<% end %>
<% end %>

关于ruby-on-rails - 使用 Dalli 缓存 Twitter 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com