Depending on the release of ITX you are using and whether you are using the Certified container or not, Redis actually provides 3 functions:
1. Fenced mode requires Redis. In this mode, the map runs in a separate process instead of the one connecting to HTTP/Rest. So if something fails, it won't impact the connection thread. It's recommended by development. I have copied the notes from tx-rest.properties.
# Asynchronous map execution mode is only available when running fenced.
#
# Whether to run maps in fenced mode or unfenced. If 'unfenced', they will be
# invoked in the web server process. If 'fenced', maps will be run in a
# separate process. Running fenced is safer, since any crash cannot bring
# down the web server, but it does add overhead so map execution time may be
# increased. Running fenced also requires that Redis server is available
run.mode=fenced2. Async processing
3. When a ITX flow is used (versus invoking the map).
Redis is not a pack, it comes with core. If you are not using the Certified container, it will be downloaded (docker pull) from Docker website when the docker image is built. The end user shouldn't have to worry about licensing.
If you are using dtxtomcat (on-prem) version, it's packaged with ITX.
------------------------------
Rex Chan
------------------------------