# File lib/mcollective/cache.rb, line 112
    def self.ttl(cache_name, key)
      raise("No cache called '%s'" % cache_name) unless @cache.include?(cache_name)

      @cache_locks[cache_name].synchronize do
        unless @cache[cache_name].include?(key)
          Log.debug("Cache miss on '%s' key '%s'" % [cache_name, key])
          raise("No item called '%s' for cache '%s'" % [key, cache_name])
        end

        @cache[cache_name][:max_age] - (Time.now - @cache[cache_name][key][:cache_create_time])
      end
    end