class Rack::MiniProfiler::RedisStore
Constants
- EXPIRES_IN_SECONDS
Public Class Methods
new(args = nil)
click to toggle source
# File lib/mini_profiler/storage/redis_store.rb, line 7 def initialize(args = nil) @args = args || {} @prefix = @args.delete(:prefix) || 'MPRedisStore' @redis_connection = @args.delete(:connection) @expires_in_seconds = @args.delete(:expires_in) || EXPIRES_IN_SECONDS end
Public Instance Methods
diagnostics(user)
click to toggle source
# File lib/mini_profiler/storage/redis_store.rb, line 44 def diagnostics(user) "Redis prefix: #{@prefix} Redis location: #{redis.client.host}:#{redis.client.port} db: #{redis.client.db} unviewed_ids: #{get_unviewed_ids(user)} " end
get_unviewed_ids(user)
click to toggle source
# File lib/mini_profiler/storage/redis_store.rb, line 40 def get_unviewed_ids(user) redis.smembers "#{@prefix}-#{user}-v" end
load(id)
click to toggle source
# File lib/mini_profiler/storage/redis_store.rb, line 18 def load(id) key = "#{@prefix}#{id}" raw = redis.get key begin Marshal::load(raw) if raw rescue # bad format, junk old data redis.del key nil end end
save(page_struct)
click to toggle source
# File lib/mini_profiler/storage/redis_store.rb, line 14 def save(page_struct) redis.setex "#{@prefix}#{page_struct[:id]}", @expires_in_seconds, Marshal::dump(page_struct) end
set_unviewed(user, id)
click to toggle source
# File lib/mini_profiler/storage/redis_store.rb, line 30 def set_unviewed(user, id) key = "#{@prefix}-#{user}-v" redis.sadd key, id redis.expire key, @expires_in_seconds end
set_viewed(user, id)
click to toggle source
# File lib/mini_profiler/storage/redis_store.rb, line 36 def set_viewed(user, id) redis.srem "#{@prefix}-#{user}-v", id end
Private Instance Methods
redis()
click to toggle source
# File lib/mini_profiler/storage/redis_store.rb, line 53 def redis @redis_connection ||= begin require 'redis' unless defined? Redis Redis.new(@args) end end