Using Redis as PCC Data Repository (4.1)

In order for Usage Engine to communicate with the Redis database, the PCC Redis Storage option must be included in your license.

Install Redis as described in the official Redis documentation, https://redis.io/docs/getting-started/installation/. Then you can create Redis profiles in Usage Engine  to communicate with Redis. For information on how to extend the Redis database, see https://aws.amazon.com/documentation/elasticache/.


Note!

Created or updated Redis profiles that are used for PCC do not become effective until the ECD(s) has/have been updated.


Redis Profiles

A Redis profile is used to read and write data in a Redis database.

As a client to Redis, the profile operates in synchronous mode. When sending a request to Redis, the profile expects a server response, indicating success or failure, before proceeding to send the next one in queue.

PCC using a Redis profile has been verified using Amazon ElastiCache.

To create a new Redis profile, click on the Configuration button in the upper left part of Desktop, and then double-click on the Redis Profile in the list.

In a Redis profile, there are two tabs; Connectivity and Advanced.


Connectivity Tab

The Connectivity tab is displayed by default.


The following settings are available in the Connectivity tab:

SettingDescription

Host

Enter the IP address/DNS name of the cluster.

Port

Enter the listening port of the cluster.

Password

Enter the password of the cluster.

Operation Timeout (ms)Enter the number of milliseconds after which Redis "CRUD" operations, i e create, read, update, and delete, should timeout. Setting a lower value than the default 1000 ms may have a positive impact on throughput performance. However, if the value is set too low, indicated by a large number of operation timeouts errors in the EC logs, a lower throughput can be expected.
Retry Interval Time (ms)Enter the time interval, in milliseconds, that you want to wait before trying to read the cluster configuration again after a failed attempt. The default value is 5.
Max Number of RetriesEnter the maximum number of retries. The default value is 30.

Advanced Configurations

The Advanced tab contains additional properties that you can use for performance tuning.

The property mz.redis.socket.timeout specifies how long the Redis client will try to open a socket connection before it times out, while the property mz.redis.connection.timeout determines the maximum amount of time that the Redis client waits to read data from the Redis server before it times out.

Idle connections will timeout after the time specified in mz.redis.connection.time.limit has expired. These connections will be returned to the pool and are considered unused. The profile will periodically remove (evict) unused connections to the Redis cluster. Use mz.redis.connection.time.limit to control the time between the eviction intervals. 

Connections in use are periodically and unconditionally reset. Use mz.redis.connection.time.limit to control the time between the reset intervals. In case of topology changes the connections are reset after a delay. Use mz.redis.topology.limit.time to set the length of this delay.

If you need to add a server to the Redis cluster, see https://aws.amazon.com/documentation/elasticache/ for further information.