method
write_entry
rails latest stable - Class:
ActiveSupport::Cache::MemoryStore
write_entry(key, entry, **options)private
No documentation available.
# File activesupport/lib/active_support/cache/memory_store.rb, line 209
def write_entry(key, entry, **options)
payload = serialize_entry(entry, **options)
synchronize do
return false if options[:unless_exist] && exist?(key, namespace: nil)
old_payload = @data[key]
if old_payload
@cache_size -= (old_payload.bytesize - payload.bytesize)
else
@cache_size += cached_size(key, payload)
end
@data[key] = payload
prune(@max_size * 0.75, @max_prune_time) if @cache_size > @max_size
true
end
end