对于缓存,我使用redis。
gem 'redis'
gem 'redis-namespace'
gem 'redis-rails'
gem 'redis-rack-cache'对视图中的html代码使用缓存
当我使用键设置缓存时,它可以工作。但是当我得到它时,即使价值也不存在。
def cache(cache_name)
value = $redis.get(cache_name)
if value.nil?
$redis.set(cache_name,yield,ex:5.minutes)
else
value
end
end在望
<% cache("key") do %>
<h1>Header</h1>
<%end%>问题是第一次标题显示,但接下来它不显示偶数值。
发布于 2017-06-22 10:13:53
尝试以下几点
def cache(cache_name)
Rails.cache.fetch(cache_name, expires_in: 5.minutes){ yield }
end更新
Rails已经提供了一个用于缓存片段的助手,并且它与您的自定义帮助程序的名称是相同的,所以只需更改方法的名称即可。
def set_cache(cache_name)
Rails.cache.fetch(cache_name, expires_in: 5.minutes){ yield }
end你的看法保持不变。
https://stackoverflow.com/questions/44695232
复制相似问题