To activate Redis and then have it accessed by the Spring application already in, it is necessary to modify two files.

1. Add the Redis service 

In your .platform/services.yaml file, include Persistent Redis with a valid supported version:

    type: redis-persistent:6.0
    disk: 256

2. Add the Redis relationship 

In your file, use the service name searchelastic to grant the application access to Elasticsearch via a relationship:

    redisdata: "data:redis"

3. Export connection credentials to the environment 

Connection credentials for Redis, like any service, are exposed to the application container through the PLATFORM_RELATIONSHIPS environment variable from the deploy hook onward. Since this variable is a base64 encoded JSON object of all of your project’s services, you’ll likely want a clean way to extract the information specific to Elasticsearch into it’s own environment variables that can be easily used by Spring. On, custom environment variables can be defined programmatically in a .environment file using jq to do just that:

export SPRING_REDIS_HOST=$(echo $PLATFORM_RELATIONSHIPS | base64 --decode | jq -r ".redisdata[0].host")
export SPRING_REDIS_PORT=$(echo $PLATFORM_RELATIONSHIPS | base64 --decode | jq -r ".redisdata[0].port")
export JAVA_OPTS="-Xmx$(jq .info.limits.memory /run/config.json)m -XX:+ExitOnOutOfMemoryError"

4. Connect to Redis 

Commit that code and push. The Redis instance is ready to be connected from within the Spring application.