码迷,mamicode.com
首页 > 其他好文 > 详细

重构set redis

时间:2015-07-29 13:44:24      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

 

    def set_redis_data(channel_id,channel)
      redis = Redis.new(:host => 10.xxx.xx.xx, :port => 6379)
      redis.del(channel_id)
      yesterday = (Time.now - 36000).to_i
      all_channel_videos = channel.videos.not_deleted.where(:begin_time.gt => yesterday).desc(:begin_time)
      all_channel_videos.each do |v|
        video_hash = {}
        video_hash[:showid] = v.showid
        video_hash[:showname] = v.showname
        video_hash[:begin_time] = v.begin_time
        video_hash[:end_time] = v.end_time
        video_hash[:vid] = v.vid
        video_hash[:thumbhd] = v.thumbhd
        video_hash[:channel_id] = v.channel_id
        video_hash[:title] = v.title
        redis.lpush channel_id, video_hash.to_json
      end
    end

 在video_controller的方法

def set_redis_data(channel)
  cache_key  = "channel_#{channel.channel_id}"
  video_list = Redis::List.new("channel_#{channel.channel_id}")

  needed_attributes = %w(show_id showname begin_time end_time vid thumbhd channel_id title)
  videos = channel.videos.active.where(:begin_time.gt => 10.hours.ago.to_i).only(needed_attributes).asc(:begin_time)
  videos_json = videos.map { |video| video.to_json }

  video_list.clear
  video.push videos_json
end

在model的channel.rb里 

  def set_redis
    video_list = Redis::List.new("channel_#{channel_id}")

    needed_attributes = %w(show_id showname begin_time end_time vid thumbhd channel_id title)
    all_videos = videos.active.where(:begin_time.gt => 10.hours.ago.to_i).only(needed_attributes).asc(:begin_time)
    videos_json = all_videos.map { |video| video.to_json }

    video_list.clear
    video.push videos_json
  end

 

重构set redis

标签:

原文地址:http://www.cnblogs.com/iwangzheng/p/4685633.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!