The Redis String sink writes database changes to a Redis instance as key-value pairs using the Redis String data type.

Configuration parameters

ParameterTypeRequiredDefaultDescription
hoststringYes-Hostname or IP address of the Redis server
portintegerYes-Port number of the Redis server (1-65535)
usernamestringNo-Username for Redis authentication
passwordstringNo-Password for Redis authentication
tlsbooleanNofalseEnable TLS/SSL for the connection
databaseintegerNo0Redis database number (≥ 0)
expire_msintegerNo-Key expiration time in milliseconds (≥ 0, omit for no expiration)

Redis connection

The sink connects to Redis using the following URL format:

redis[s]://[username:password@]host:port/database

Where:

  • rediss:// is used when tls is enabled, otherwise redis://
  • Authentication credentials are included when provided

Key format and operations

For each change to the source table, the sink performs the following Redis operations:

Change actionRedis operationBehavior
INSERT, UPDATE, READSETSets the key to the JSON representation of the record
DELETEDELRemoves the key from Redis

By default, keys are generated using the format:

sequin:{table_name}:{primary_key}

For composite primary keys, values are joined with a colon.

Data format

Records are stored as JSON strings. The specific format depends on the transform applied to the data:

With no transform, the entire message payload is stored as a JSON object

This may not be preferred for most caching use cases. We recommend using a transform to modify the structure and content before storage.

If your transform returns a string or binary-coercible value (such as an integer or boolean), the value is stored directly in Redis.

Otherwise, Sequin will JSON encode the value before storing it in Redis.

Key expiration

When expire_ms is specified, each key is set with an expiration time using Redis’ PX operation during SET. This allows for automatic key cleanup.