Feature
- Add
coredis.Redis.xconsumerfactory method to
create a single or group stream consumer - Add a
verify_existenceflag to library
coredis.commands.function.wrapsto optionally
skip local validation and optimistically call it. - Improve guarantees of calling subscription methods on PubStub
instances. Using asubscription_timeoutthe acknowledgement
of subscription to a topic or pattern can be guaranteed before
proceeding with listening to messages. - Cluster pipelines now support
Scriptinstances - Allow chaininable
transformmethod to accept inline
callbacks to transform the response from the redis server - Added
retrychainable method to the response from
all commands to allow using retry policies individually
with a requests instead of having to apply it on all
requests issued by a client. - Retry policies now allow infinite retries
& retry deadlines. - ExponentionBackoffRetryPolicy now supports
jitter
Breaking change
- Stream consumers can no longer be awaited and must be used
as context managers to ensure initialization coredis.Redis.pubsub,coredis.RedisCluster.pubsub&
coredis.RedisCluster.sharded_pubsubnow only accept keyword
arguments.
Compatibility
- The clients no longer check if a module is loaded at initialization.
Therefore a module command issued against a server that doesn't have
the module will not fail early and instead result in an
coredis.exceptions.UnknownCommandErrorexception by raised. - Add support for
VRANGEvector set command (coredis.Redis.vrange) - Add support for
FT.HYBRIDsearch command (coredis.modules.Search.hybrid)
Performance
- Fixed performance regression introduced in
6.0.0rc1with sending commands
to the socket. Performance over concurrent workloads is now at par with 5.x or better