Skip to content

Add Redis Cluster support - #53

Merged
hexcowboy merged 3 commits into
mainfrom
codex/redis-cluster-support
Jul 30, 2026
Merged

Add Redis Cluster support#53
hexcowboy merged 3 commits into
mainfrom
codex/redis-cluster-support

Conversation

@hexcowboy

Copy link
Copy Markdown
Owner

Summary

  • add opt-in Redis Cluster support through a new cluster feature
  • add LockManager::new_cluster for seed-node URIs and LockManager::from_cluster_client for advanced client configuration
  • preserve the existing standalone Redis API and behavior
  • add a six-node Redis Cluster lifecycle test covering lock, query, extend, and unlock
  • add a cluster example and update the README for version 0.9.0

Why

The existing connection path only creates standalone multiplexed Redis connections, which cannot discover cluster topology or follow cluster routing. The new internal connection abstraction supports both standalone and topology-aware cluster connections while keeping cluster dependencies optional.

A supplied URI list represents seed nodes for one logical Redis Cluster, so it counts as one server for quorum purposes. Callers that need authentication, TLS, address remapping, or other advanced settings can supply a configured redis::cluster::ClusterClient.

Validation

  • cargo test --all-features --all-targets (29 passed)
  • cargo test --all-targets (25 passed)
  • cargo clippy --all-features --all-targets -- -D warnings
  • cargo fmt --all -- --check
  • RUSTDOCFLAGS='-D warnings' cargo doc --no-deps --all-features

Closes #21

@hexcowboy
hexcowboy marked this pull request as ready for review July 30, 2026 14:19
@hexcowboy hexcowboy mentioned this pull request Jul 30, 2026
@hexcowboy
hexcowboy merged commit f2f96ef into main Jul 30, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Redis Cluster support.

1 participant