new feature: Redis client should support reader endpoints/replicas
- Dominant language
- Rust
- Stars
- 5.4k
- Forks
- 825
- Avg merge
- 1d 14m
- Merged PRs (30d)
- 127
Description
### Feature Description
To help optimize throughput, the Redis client should support reading from dedicated reader endpoints (or replicas in cluster mode), and only write to primary endpoints.
### Problem and Solution
RedisBuilder should support an additional `reader_endpoints()` option, and `RedisClient` would need a separate `reader_client`/`reader_cluster_client` fields, then use those clients for `get()` operations.
### Additional Context
_No response_
### Are you willing to contribute to the development of this feature?
- [x] Yes, I am willing to contribute to the development of this feature.
Contributor guide
Research direction
Start with RedisBuilder and RedisClient, then trace how regular and cluster clients are constructed and how get() currently performs reads. Done means reader_endpoints() is supported, separate reader clients are used for reads, and writes continue to use primary endpoints.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- redis, rust
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100