Skip to content

Cache Provider Configuration#

Overview#

This page explains the Cache Provider configuration that can be accessed by navigating to Configuration > JSON Configuration > Cache Provider Configuration.

The following cache providers are now supported and can be selected via the cacheProviderType combo box field (see screenshot below):

In Memory - recommended for small deployments only
Memcached - recommended for single cache server deployment
Redis - recommended for cluster deployments
Native Persistence - recommended to avoid additional components installation. All cache entries are saved in persistence layers.

Cache Provider Properties#

image

The following tables include the name and description of each configurable oxAuth property:

Cache Configuration#

Name Description
cacheProviderType The cache provider type

Memcached Configuration#

Name Description
servers Server details separated by spaces (e.g. `server1:8080 server2:8081)
maxOperationQueueLength Maximum number of operations that can be queued
bufferSize Buffer size in bytes
defaultPutExpiration Expiration timeout value in seconds
MemcachedConnectionFactoryType Is the Connection Factory in memory or memcached

In-Memory Configuration#

Name Description
defaultPutExpiration defaultPutExpiration timeout value in seconds

Redis Configuration#

Name Description
redisProviderType Type of connection: standalone, clustered, or sharded
Servers Server details separated by commas (e.g. 'server1:8080,server2:8081')
password Redis password
defaultPutExpiration Default expiration time for the object put into cache in seconds
useSSL Enable SSL communication between Gluu Server and Redis cache
sslTrustStoreFilePath Directory Path to Trust Store
sentinelMasterGroupName Sentinel Master Group Name (required if SENTINEL type of connection is selected)
maxIdleConnections (since 4.1.1) The cap on the number of \"idle\" instances in the pool. If maxIdle is set too low on heavily loaded systems it is possible you will see objects being destroyed and almost immediately new objects being created. This is a result of the active threads momentarily returning objects faster than they are requesting them, causing the number of idle objects to rise above maxIdle. The best value for maxIdle for heavily loaded system will vary but the default is a good starting point.
maxTotalConnections (since 4.1.1) The number of maximum connection instances in the pool.
connectionTimeout (since 4.1.1) Connection time out.
soTimeout (since 4.1.1) With this option set to a non-zero timeout, a read() call on the InputStream associated with this Socket will block for only this amount of time. If the timeout expires, a java.net.SocketTimeoutException is raised, though the Socket is still valid. The option must be enabled prior to entering the blocking operation to have effect. The timeout must be > 0. A timeout of zero is interpreted as an infinite timeout.
maxRetryAttempts (since 4.1.1) Max retry attepts in case of failure.

Native Persistence Configuration#

Name Description
defaultPutExpiration Default expiration time for the object put into cache in seconds