instance method
read
Ruby on Rails 7.1.6
Since v2.2.3Signature
read(name, options = nil)
Reads data from the cache, using the given key. If there is data in the cache with the given key, then that data is returned. Otherwise, nil is returned.
Note, if data was written with the :expires_in or :version options, both of these conditions are applied before the data is returned.
Options
-
:namespace- Replace the store namespace for this call. -
:version- Specifies a version for the cache entry. If the cached version does not match the requested version, the read will be treated as a cache miss. This feature is used to support recyclable cache keys.
Other options will be handled by the specific cache store implementation.
Parameters
-
namereq -
optionsopt = nil
Source
# File activesupport/lib/active_support/cache.rb, line 506
def read(name, options = nil)
options = merged_options(options)
key = normalize_key(name, options)
version = normalize_version(name, options)
instrument(:read, name, options) do |payload|
entry = read_entry(key, **options, event: payload)
if entry
if entry.expired?
delete_entry(key, **options)
payload[:hit] = false if payload
nil
elsif entry.mismatched?(version)
payload[:hit] = false if payload
nil
else
payload[:hit] = true if payload
begin
entry.value
rescue DeserializationError
payload[:hit] = false
nil
end
end
else
payload[:hit] = false if payload
nil
end
end
end
Defined in activesupport/lib/active_support/cache.rb line 506
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::Cache::Store