Redis Sink
Redis Sink is implemented in Firehose using the Redis sink connector implementation in Depot. You can check out Depot Github repository here.
Data Types
Redis sink can be created in 3 different modes based on the value of SINK_REDIS_DATA_TYPE
: HashSet, KeyValue or List
Hashset
: For each message, an entry of the formatkey : field : value
is generated and pushed to Redis. Field and value are generated on the basis of the configSINK_REDIS_HASHSET_FIELD_TO_COLUMN_MAPPING
List
: For each message entry of the formatkey : value
is generated and pushed to Redis. Value is fetched for the Proto field name provided in the configSINK_REDIS_LIST_DATA_FIELD_NAME
KeyValue
: For each message entry of the formatkey : value
is generated and pushed to Redis. Value is fetched for the proto field name provided in the configSINK_REDIS_KEY_VALUE_DATA_FIELD_NAME
The key
is picked up from a field in the message itself.
Limitation: Depot Redis sink only supports Key-Value, HashSet and List entries as of now.
Configuration
For Redis sink in Firehose we need to set first (SINK_TYPE
=redis
). There are some generic configs which are common across different sink types which need to be set which are mentioned in generic.md. Redis sink specific configs are mentioned in Depot repository. You can check out the Redis Sink configs here
Deployment Types
Redis sink, as of now, supports two different Deployment Types Standalone
and Cluster
. This can be configured in the Depot environment variable SINK_REDIS_DEPLOYMENT_TYPE
.