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