Caching layer

Caching layer

Identity supports a caching layer that is above the configurable subsystems, such as token or assignment. The majority of the caching configuration options are set in the [cache] section. However, each section that has the capability to be cached usually has a caching option that will toggle caching for that specific section. By default, caching is globally disabled. Options are as follows:

Description of cache configuration options
Configuration option = Default value Description
dead_retry = 300 (Integer) Number of seconds memcached server is considered dead before it is tried again. This is used by the key value store system.
pool_connection_get_timeout = 10 (Integer) Number of seconds that an operation will wait to get a memcache client connection. This is used by the key value store system.
pool_maxsize = 10 (Integer) Max total number of open connections to every memcached server. This is used by the key value store system.
pool_unused_timeout = 60 (Integer) Number of seconds a connection to memcached is held unused in the pool before it is closed. This is used by the key value store system.
servers = localhost:11211

(List) Comma-separated list of memcached servers in the format of host:port,host:port that keystone should use for the memcache token persistence provider and other memcache-backed KVS drivers. This configuration value is NOT used for intermediary caching between keystone and other backends, such as SQL and LDAP (for that, see the [cache] section). Multiple keystone servers in the same deployment should use the same set of memcached servers to ensure that data (such as UUID tokens) created by one node is available to the others.

  • Deprecated

    This option has been deprecated in the O release and will be removed in the P release. Use oslo.cache instead.

socket_timeout = 3 (Integer) Timeout in seconds for every call to a server. This is used by the key value store system.

Current functional back ends are:

Memcached back end using the standard python-memcached library.
Memcached back end using the pylibmc library.
Memcached using the python-binary-memcached library.
Redis back end.
Local DBM file back end.
In-memory cache, not suitable for use outside of testing as it does not cleanup its internal cache on cache expiration and does not share cache between processes. This means that caching and cache invalidation will not be consistent or reliable.
MongoDB as caching back end.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.