trustieforge/app/caches/issue_cache.rb

35 lines
808 B
Ruby

class IssueCache
class<<self
#-----------------------------讨论区帖子
def issue_cache(id)
key = "issue:"+id.to_s
data = Rails.cache.read(key) rescue nil
if data.nil?
#直接存数据库对象
data = Issue.find(id) rescue nil
if data
Rails.cache.write(key,data,{ expires_in: 90.minutes }) rescue Rails.cache.delete(key)
end
end
data
end
#更新
def update_issue_cache(id,issue)
key = "issue:"+id.to_s
data = Rails.cache.read(key)
if data.nil?
else
Rails.cache.write(key,issue,{ expires_in: 90.minutes }) rescue Rails.cache.delete(key)
end
end
#删除
def delete_issue_cache(id)
key = "issue:"+id.to_s
Rails.cache.delete(key)
end
end
end