module ActiveSupport::Cache::Strategy::LocalCache

def read_multi_entries(names, **options)

def read_multi_entries(names, **options)
  return super unless local_cache
  keys_to_names = names.index_by { |name| normalize_key(name, options) }
  local_entries = local_cache.read_multi_entries(keys_to_names.keys)
  results = local_entries.each_with_object({}) do |(key, value), result|
    next if value.nil? # recorded cache miss
    entry = deserialize_entry(value, **options)
    normalized_key = keys_to_names[key]
    if entry.nil?
      result[normalized_key] = nil
    elsif entry.expired? || entry.mismatched?(normalize_version(normalized_key, options))
      local_cache.delete_entry(key)
    else
      result[normalized_key] = entry.value
    end
  end
  if results.size < names.size
    results.merge!(super(names - results.keys, **options))
  end
  results
end