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