Chapter 8. Using Redis Cache with dynamic plugins
You can use the Redis cache store to improve RHDH performance and reliability. Plugins in RHDH receive dedicated cache connections, which are powered by Keyv.
8.1. Installing Redis Cache in Red Hat Developer Hub
Prerequisites
- You have installed Red Hat Developer Hub by using either the Operator or Helm chart.
-
You have an active Redis server. For more information on setting up an external Redis server, see the
Redis official documentation
.
Procedure
Add the following code to your app-config.yaml
file:
backend: cache: store: redis connection: redis://user:pass@cache.example.com:6379 useRedisSets: true
8.2. Configuring Redis Cache in Red Hat Developer Hub
8.2.1. useRedisSets
The useRedisSets
option lets you decide whether to use Redis sets for key management. By default, this option is set to true
.
When useRedisSets
is enabled (true
):
- A namespace for the Redis sets is created, and all generated keys are added to that namespace, enabling group management of the keys.
- When a key is deleted, it’s removed from the main storage and the Redis set.
- When using the clear function to delete all keys, every key in the Redis set is checked for deletion, and the set itself is also removed.
In high-performance scenarios, enabling useRedisSets
can result in memory leaks. If you are running a high-performance application or service, you must set useRedisSets
to false
.
When you set useRedisSets
to false
, the keys are handled individually and Redis sets are not utilized. This configuration might lead to performance issues in production when using the clear
function, as it requires iterating over all keys for deletion.