Skip to content

Instantly share code, notes, and snippets.

@kingcu
Created November 9, 2009 22:39
Show Gist options
  • Save kingcu/230385 to your computer and use it in GitHub Desktop.
Save kingcu/230385 to your computer and use it in GitHub Desktop.
def self.add_online_user(id)
@redis ||= Redis.new
@redis.set("user:id:#{id}:last_activity", Time.now.to_i)
@redis.set_add("onlineusers", id);
end
def self.remove_online_user(id)
@redis ||= Redis.new
@redis.del("user:id:#{id}:last_activity")
@redis.set_rem("onlineusers", id)
end
def self.online_users
@redis ||= Redis.new
users = {}
cutoff = 10.minutes.ago.to_i
@redis.set_members("onlineusers").each do |id|
la = @redis.get("user:id:#{id}:last_activity").to_i
users[id] = la if la > cutoff
end
return users
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment