Skip to main content
flowwarden-redis provides Redis-backed implementations of the LockService and CheckpointStore SPIs defined in FlowWarden Stream Core. It is a drop-in alternative to the default MongoDB backends shipped in the core library — useful when your Spring Boot application already runs Redis (cache, sessions, pub/sub) and you’d rather keep your distributed locks and Change Stream checkpoints there too. Both the blocking and reactive Spring Data Redis stacks are supported. Auto-configuration wires the blocking variants for you; the reactive variants are opt-in (see Configuration).

When to use

  • You already operate Redis and want to avoid spreading your runtime state across two stores.
  • Your Mongo cluster is sized for application data and you’d prefer to keep coordination traffic (locks, checkpoint upserts) off it.
  • You want sub-millisecond checkpoint writes for high-throughput streams.

When not to use

  • You have no Redis in production and don’t plan to add one — the default MongoDB backends already provide the same guarantees out of the box.
  • You need transactional coupling between your application writes and your checkpoint writes — only the MongoDB backends can share a transaction with your domain writes.

How it fits

The two SPI choices are independent. You can mix backends — for example, locks in Redis and checkpoints in Mongo — by overriding only one of the auto-configured beans (see Hybrid Mongo + Redis).

Compatibility

ComponentMinimumRecommended
Java1721
Spring Boot3.2.x3.2.x+
Spring Data Redis3.2.x (via Boot BOM)3.2.x+
Redis Server6.07.x+
FlowWarden Stream Core1.0.0-rc.31.0.0-rc.3+

Next steps

Quickstart

Add flowwarden-redis to your project in 5 minutes.

Configuration

Properties reference, storage layout, reactive variants, hybrid setups.

LockService SPI

The contract Redis (and Mongo) implements for SINGLE_LEADER coordination.

@Checkpoint storage SPI

The sister SPI that backs @Checkpoint.

Source on GitHub

Browse the flowwarden-redis source, issues, and releases.