community.general.redis cache – Use Redis DB for cache

Note

This cache plugin is part of the community.general collection (version 6.6.2).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general. You need further requirements to be able to use this cache plugin, see Requirements for details.

To use it in a playbook, specify: community.general.redis.

Synopsis

  • This cache uses JSON formatted, per host records saved in Redis.

Requirements

The below requirements are needed on the local controller node that executes this cache.

  • redis>=2.4.5 (python lib)

Parameters

Parameter

Comments

_keyset_name

string

added in community.general 1.3.0

User defined name for cache keyset name.

Default: "ansible_cache_keys"

Configuration:

  • INI entry:

    [defaults]
    fact_caching_redis_keyset_name = ansible_cache_keys
    
  • Environment variable: ANSIBLE_CACHE_REDIS_KEYSET_NAME

_prefix

string

User defined prefix to use when creating the DB entries

Default: "ansible_facts"

Configuration:

  • INI entry:

    [defaults]
    fact_caching_prefix = ansible_facts
    
  • Environment variable: ANSIBLE_CACHE_PLUGIN_PREFIX

_sentinel_service_name

string

added in community.general 1.3.0

The redis sentinel service name (or referenced as cluster name).

Configuration:

  • INI entry:

    [defaults]
    fact_caching_redis_sentinel = VALUE
    
  • Environment variable: ANSIBLE_CACHE_REDIS_SENTINEL

_timeout

integer

Expiration timeout in seconds for the cache plugin data. Set to 0 to never expire

Default: 86400

Configuration:

  • INI entry:

    [defaults]
    fact_caching_timeout = 86400
    
  • Environment variable: ANSIBLE_CACHE_PLUGIN_TIMEOUT

_uri

string / required

A colon separated string of connection information for Redis.

The format is host:port:db:password, for example localhost:6379:0:changeme.

To use encryption in transit, prefix the connection with tls://, as in tls://localhost:6379:0:changeme.

To use redis sentinel, use separator ;, for example localhost:26379;localhost:26379;0:changeme. Requires redis>=2.9.0.

Configuration:

  • INI entry:

    [defaults]
    fact_caching_connection = VALUE
    
  • Environment variable: ANSIBLE_CACHE_PLUGIN_CONNECTION

Authors

  • Unknown

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.