Ruby on Rails latest stable (v5.2.3) - 0 notes - Class: RedisCacheStore
new(namespace: nil, compress: true, compress_threshold: 1.kilobyte, expires_in: nil, race_condition_ttl: nil, error_handler: DEFAULT_ERROR_HANDLER, **redis_options) public

Creates a new Redis cache store.

Handles three options: block provided to instantiate, single URL provided, and multiple URLs provided.

:redis Proc   -> options[:redis].call
:url   String -> Redis.new(url: …)
:url   Array  -> Redis::Distributed.new([{ url: … }, { url: … }, …])

No namespace is set by default. Provide one if the Redis cache server is shared with other apps: <tt>namespace: ‘myapp-cache’.

Compression is enabled by default with a 1kB threshold, so cached values larger than 1kB are automatically compressed. Disable by passing compress: false or change the threshold by passing compress_threshold: 4.kilobytes.

No expiry is set on cache entries by default. Redis is expected to be configured with an eviction policy that automatically deletes least-recently or -frequently used keys when it reaches max memory. See redis.io/topics/lru-cache for cache server setup.

Race condition TTL is not set by default. This can be used to avoid “thundering herd” cache writes when hot cache entries are expired. See ActiveSupport::Cache::Store#fetch for more.

Show source
Register or log in to add new notes.