class Rack::MiniProfiler::RedisStore
Constants
- EXPIRES_IN_SECONDS
Public Class Methods
new(args = nil)
click to toggle source
# File Ruby/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 Ruby/lib/mini_profiler/storage/redis_store.rb, line 37 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 Ruby/lib/mini_profiler/storage/redis_store.rb, line 33 def get_unviewed_ids(user) redis.smembers "#{@prefix}-#{user}-v" end
load(id)
click to toggle source
# File Ruby/lib/mini_profiler/storage/redis_store.rb, line 18 def load(id) raw = redis.get "#{@prefix}#{id}" if raw Marshal::load raw end end
save(page_struct)
click to toggle source
# File Ruby/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 Ruby/lib/mini_profiler/storage/redis_store.rb, line 25 def set_unviewed(user, id) redis.sadd "#{@prefix}-#{user}-v", id end
set_viewed(user, id)
click to toggle source
# File Ruby/lib/mini_profiler/storage/redis_store.rb, line 29 def set_viewed(user, id) redis.srem "#{@prefix}-#{user}-v", id end
Private Instance Methods
redis()
click to toggle source
# File Ruby/lib/mini_profiler/storage/redis_store.rb, line 46 def redis return @redis_connection if @redis_connection require 'redis' unless defined? Redis @redis_connection ||= Redis.new @args end