Skip to main content

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 format key : field : value is generated and pushed to Redis. Field and value are generated on the basis of the config SINK_REDIS_HASHSET_FIELD_TO_COLUMN_MAPPING
  • List: For each message entry of the format key : value is generated and pushed to Redis. Value is fetched for the Proto field name provided in the config SINK_REDIS_LIST_DATA_FIELD_NAME
  • KeyValue: For each message entry of the format key : value is generated and pushed to Redis. Value is fetched for the proto field name provided in the config SINK_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.