instance method write_serialized_entry

Ruby on Rails 7.1.6

Since v7.0.10 Private

Available in: v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

write_serialized_entry(key, payload, raw: false, unless_exist: false, expires_in: nil, race_condition_ttl: nil, pipeline: nil, **options)

No documentation comment.

Parameters

key req
payload req
raw key = false
unless_exist key = false
expires_in key = nil
race_condition_ttl key = nil
pipeline key = nil
options keyrest
Source
# File activesupport/lib/active_support/cache/redis_cache_store.rb, line 355
        def write_serialized_entry(key, payload, raw: false, unless_exist: false, expires_in: nil, race_condition_ttl: nil, pipeline: nil, **options)
          # If race condition TTL is in use, ensure that cache entries
          # stick around a bit longer after they would have expired
          # so we can purposefully serve stale entries.
          if race_condition_ttl && expires_in && expires_in > 0 && !raw
            expires_in += 5.minutes
          end

          modifiers = {}
          if unless_exist || expires_in
            modifiers[:nx] = unless_exist
            modifiers[:px] = (1000 * expires_in.to_f).ceil if expires_in
          end

          if pipeline
            pipeline.set(key, payload, **modifiers)
          else
            failsafe :write_entry, returning: false do
              redis.then { |c| c.set key, payload, **modifiers }
            end
          end
        end

Defined in activesupport/lib/active_support/cache/redis_cache_store.rb line 355 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveSupport::Cache::RedisCacheStore

Type at least 2 characters to search.

↑↓ navigate · open · esc close