redis-0.23.0
版本发布时间: 2023-04-05 23:12:39
redis-rs/redis-rs最新发布版本:redis-0.27.4(2024-10-10 02:59:20)
This release adds the cluster_async
module, which introduces async Redis Cluster support. The code therein is largely taken from @Marwes's redis-cluster-async crate, which itself appears to have started from a sync Redis Cluster mplementation started by @atuk721. In any case, thanks to @Marwes and @atuk721 for the great work, and we hope to keep development moving forward in redis-rs
.
This release also adds support for Rustls, a long-sought feature. Thanks to @rharish101 and @LeoRowan for getting this in! Note that the tls
and async-std-tls-comp
features have been deprecated and replaced by tls-native-tls
and async-std-native-tls-comp
, respectively.
Though async Redis Cluster functionality for the time being has been kept as close to the originating crate as possible, previous users of
redis-cluster-async
should note the following changes:
- Retries, while still configurable, can no longer be set to
None
/infinite retries - Routing and slot parsing logic has been removed and merged with existing
redis-rs
functionality - The client has been removed and superceded by common
ClusterClient
- Renamed
Connection
toClusterConnection
- Added support for reading from replicas
- Added support for insecure TLS
- Added support for setting both username and password
Breaking Changes
- Fix long-standing bug related to
AsyncIter
's stream implementation in which polling the server for additional data yielded broken data in most cases. Type bounds forAsyncIter
have changed slightly, making this a potentially breaking change. (#597 @roger)
Changes
- Update Rustls to v0.21.0 (#820 @rharish101)
- Implement support for Rustls (#725 @rharish101, @LeoRowan)
- Commands: Add additional generic args for key arguments (#795 @MaxOhn)
- Add
mset
/ deprecateset_multiple
(#766 @randomairborne) - More efficient interfaces for
MultiplexedConnection
andConnectionManager
(#811 @nihohit) - Refactor / remove flaky test (#810)
-
cluster_async
: renameConnection
toClusterConnection
,Pipeline
toClusterConnInner
(#808) - Support parsing IPV6 cluster nodes (#796 @socs)
- Common client for sync/async cluster connections (#798)
-
cluster::ClusterConnection
underlying connection type is now generic (with existing type as default) - Support
read_from_replicas
in cluster_async - Set retries in
ClusterClientBuilder
- Add mock tests for
cluster
-
- cluster-async common slot parsing(#793)
- Support async-std in cluster_async module (#790)
- Async-Cluster use same routing as Sync-Cluster (#789)
- Add Async Cluster Support (#696)
- Fix broken json-module tests (#786)
-
cluster
: Tls Builder support / simplify cluster connection map (#718 @0xWOF, @utkarshgupta137)