module PhusionPassenger::ClassicRailsExtensions::AnalyticsLogging::CacheStoreExtension

Public Instance Methods

fetch_2_1(key, options = {}) { || ... } click to toggle source
# File lib/phusion_passenger/classic_rails_extensions/analytics_logging/as_cache_extension.rb, line 29
def fetch_2_1(key, options = {})
        @logger_off = true
        if !options[:force] && value = read(key, options)
                @logger_off = false
                log("hit", key, options)
                PhusionPassenger.log_cache_hit(nil, key)
                value
        elsif block_given?
                @logger_off = false
                log("miss", key, options)

                value = nil
                seconds = Benchmark.realtime { value = yield }

                @logger_off = true
                write(key, value, options)
                @logger_off = false

                log("write (will save #{'%.5f' % seconds})", key, nil)
                PhusionPassenger.log_cache_miss(nil, key, seconds * 1_000_000)

                value
        else
                PhusionPassenger.log_cache_miss(nil, key)
                value
        end
end
fetch_2_2(key, options = {}) { || ... } click to toggle source
# File lib/phusion_passenger/classic_rails_extensions/analytics_logging/as_cache_extension.rb, line 57
def fetch_2_2(key, options = {})
        @logger_off = true
        if !options[:force] && value = read(key, options)
                @logger_off = false
                log("hit", key, options)
                PhusionPassenger.log_cache_hit(nil, key)
                value
        elsif block_given?
                @logger_off = false
                log("miss", key, options)

                value = nil
                seconds = Benchmark.realtime { value = yield }

                @logger_off = true
                write(key, value, options)
                @logger_off = false

                log("write (will save #{'%.2f' % (seconds * 1000)}ms)", key, nil)
                PhusionPassenger.log_cache_miss(nil, key, seconds * 1_000_000)

                value
        else
                PhusionPassenger.log_cache_miss(nil, key)
                value
        end
end
fetch_2_3(key, options = {}) { || ... } click to toggle source
# File lib/phusion_passenger/classic_rails_extensions/analytics_logging/as_cache_extension.rb, line 85
def fetch_2_3(key, options = {})
        @logger_off = true
        if !options[:force] && value = read(key, options)
                @logger_off = false
                log("hit", key, options)
                PhusionPassenger.log_cache_hit(nil, key)
                value
        elsif block_given?
                @logger_off = false
                log("miss", key, options)

                value = nil
                ms = Benchmark.ms { value = yield }

                @logger_off = true
                write(key, value, options)
                @logger_off = false

                log('write (will save %.2fms)' % ms, key, nil)
                PhusionPassenger.log_cache_miss(nil, key, ms * 1_000)

                value
        else
                PhusionPassenger.log_cache_miss(nil, key)
                value
        end
end