    # 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