forked from mirror/redis
2.4 KiB
2.4 KiB
Changelog
v8 (unreleased)
- All commands accept
context.Context
as first argument. - Basic support for OpenTelemetry instrumentation.
v7.3
- New option
Options.Username
which causes client to useAuthACL
. Be aware if your connection URL contains username.
v7.2
- Existing
HMSet
is renamed toHSet
and old deprecatedHMSet
is restored for Redis 3 users.
v7.1
- Existing
Cmd.String
is renamed toCmd.Text
. NewCmd.String
implementsfmt.Stringer
interface.
v7
- Important. Tx.Pipeline now returns a non-transactional pipeline. Use Tx.TxPipeline for a transactional pipeline.
- WrapProcess is replaced with more convenient AddHook that has access to context.Context.
- WithContext now can not be used to create a shallow copy of the client.
- New methods ProcessContext, DoContext, and ExecContext.
- Client respects Context.Deadline when setting net.Conn deadline.
- Client listens on Context.Done while waiting for a connection from the pool and returns an error when context context is cancelled.
- Add PubSub.ChannelWithSubscriptions that sends
*Subscription
in addition to*Message
to allow detecting reconnections. time.Time
is now marshalled in RFC3339 format.rdb.Get("foo").Time()
helper is added to parse the time.SetLimiter
is removed and addedOptions.Limiter
instead.HMSet
is deprecated as of Redis v4.
v6.15
- Cluster and Ring pipelines process commands for each node in its own goroutine.
6.14
- Added Options.MinIdleConns.
- Added Options.MaxConnAge.
- PoolStats.FreeConns is renamed to PoolStats.IdleConns.
- Add Client.Do to simplify creating custom commands.
- Add Cmd.String, Cmd.Int, Cmd.Int64, Cmd.Uint64, Cmd.Float64, and Cmd.Bool helpers.
- Lower memory usage.
v6.13
- Ring got new options called
HashReplicas
andHash
. It is recommended to setHashReplicas = 1000
for better keys distribution between shards. - Cluster client was optimized to use much less memory when reloading cluster state.
- PubSub.ReceiveMessage is re-worked to not use ReceiveTimeout so it does not lose data when timeout occurres. In most cases it is recommended to use PubSub.Channel instead.
- Dialer.KeepAlive is set to 5 minutes by default.
v6.12
- ClusterClient got new option called
ClusterSlots
which allows to build cluster of normal Redis Servers that don't have cluster mode enabled. See https://godoc.org/github.com/go-redis/redis#example-NewClusterClient--ManualSetup