# File lib/mcollective/cache.rb, line 103
    def self.read(cache_name, key)
      check_cache!(cache_name)

      unless ttl(cache_name, key) > 0
        raise_code(:PLMC11, "Cache expired on '%{cache_name}' key '%{item}'", :debug, :cache_name => cache_name, :item => key)
      end

      log_code(:PLMC12, "Cache hit on '%{cache_name}' key '%{item}'", :debug, :cache_name => cache_name, :item => key)

      @cache_locks[cache_name].synchronize do
        @cache[cache_name][key][:value]
      end
    end