Changelog from v3.0.1 and up. Prior changes don't have a changelog.
-
Optimize Scanner implementation.
-
Fix bug with using types which implement resp.LenReader, encoding.TextMarshaler, and encoding.BinaryMarshaler. The encoder wasn't properly taking into account the interfaces when counting the number of elements in the message.
-
Give Pool an ErrCh so that errors which happen internally may be reported to the user, if they care.
-
Fix
PubSubConn
's deadlock problems during Unsubscribe commands. -
Small speed optimizations in network protocol code.
- Move benchmarks to a submodule in order to clean up
go.mod
a bit.
-
Add
StreamReader
type to make working with redis' new Stream functionality easier. -
Make
Sentinel
properly respond toClient
method calls. Previously it always created a newClient
instance when a secondary was requested, now it keeps track of instances internally. -
Make default
Dial
call have a timeout for connect/read/write. At the same time, normalize default timeout values across the project. -
Implicitly pipeline commands in the default Pool implementation whenever possible. This gives a throughput increase of nearly 5x for a normal parallel workload.
- Add support for marshaling/unmarshaling structs.
- Make
Stub
supportPipeline
properly.