This commit is contained in:
re 2022-12-12 15:55:49 +03:00
parent 52af8ba852
commit a337be9066
67 changed files with 172 additions and 154 deletions

View File

@ -1,7 +1,7 @@
# Redis client for Go
![build workflow](https://github.com/go-redis/redis/actions/workflows/build.yml/badge.svg)
[![PkgGoDev](https://pkg.go.dev/badge/github.com/go-redis/redis/v8)](https://pkg.go.dev/github.com/go-redis/redis/v8?tab=doc)
[![PkgGoDev](https://pkg.go.dev/badge/git.internal/re/redis/v8)](https://pkg.go.dev/git.internal/re/redis/v8?tab=doc)
[![Documentation](https://img.shields.io/badge/redis-documentation-informational)](https://redis.uptrace.dev/)
[![Chat](https://discordapp.com/api/guilds/752070105847955518/widget.png)](https://discord.gg/rWtp5Aj)
@ -28,8 +28,8 @@ for your applications thanks to its per request pricing and low latency data.
- [Documentation](https://redis.uptrace.dev)
- [Discussions](https://github.com/go-redis/redis/discussions)
- [Chat](https://discord.gg/rWtp5Aj)
- [Reference](https://pkg.go.dev/github.com/go-redis/redis/v8?tab=doc)
- [Examples](https://pkg.go.dev/github.com/go-redis/redis/v8?tab=doc#pkg-examples)
- [Reference](https://pkg.go.dev/git.internal/re/redis/v8?tab=doc)
- [Examples](https://pkg.go.dev/git.internal/re/redis/v8?tab=doc#pkg-examples)
## Ecosystem
@ -66,7 +66,7 @@ go mod init github.com/my/repo
And then install go-redis/v8 (note _v8_ in the import; omitting it is a popular mistake):
```shell
go get github.com/go-redis/redis/v8
go get git.internal/re/redis/v8
```
## Quickstart
@ -74,7 +74,7 @@ go get github.com/go-redis/redis/v8
```go
import (
"context"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
"fmt"
)

View File

@ -8,7 +8,7 @@ import (
"testing"
"time"
"github.com/go-redis/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal/proto"
)
var ctx = context.TODO()

View File

@ -10,7 +10,7 @@ import (
"testing"
"time"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
func benchmarkRedisClient(ctx context.Context, poolSize int) *redis.Client {

View File

@ -12,11 +12,11 @@ import (
"sync/atomic"
"time"
"github.com/go-redis/redis/v8/internal"
"github.com/go-redis/redis/v8/internal/hashtag"
"github.com/go-redis/redis/v8/internal/pool"
"github.com/go-redis/redis/v8/internal/proto"
"github.com/go-redis/redis/v8/internal/rand"
"git.internal/re/redis/v8/internal"
"git.internal/re/redis/v8/internal/hashtag"
"git.internal/re/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal/rand"
)
var errClusterNoNodes = fmt.Errorf("redis: cluster has no nodes")

View File

@ -12,8 +12,8 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"github.com/go-redis/redis/v8/internal/hashtag"
"git.internal/re/redis/v8"
"git.internal/re/redis/v8/internal/hashtag"
)
type clusterScenario struct {

View File

@ -7,10 +7,10 @@ import (
"strconv"
"time"
"github.com/go-redis/redis/v8/internal"
"github.com/go-redis/redis/v8/internal/hscan"
"github.com/go-redis/redis/v8/internal/proto"
"github.com/go-redis/redis/v8/internal/util"
"git.internal/re/redis/v8/internal"
"git.internal/re/redis/v8/internal/hscan"
"git.internal/re/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal/util"
)
type Cmder interface {

View File

@ -7,7 +7,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
redis "github.com/go-redis/redis/v8"
redis "git.internal/re/redis/v8"
)
var _ = Describe("Cmd", func() {

View File

@ -6,14 +6,14 @@ import (
"io"
"time"
"github.com/go-redis/redis/v8/internal"
"git.internal/re/redis/v8/internal"
)
// KeepTTL is a Redis KEEPTTL option to keep existing TTL, it requires your redis-server version >= 6.0,
// otherwise you will receive an error: (error) ERR syntax error.
// For example:
//
// rdb.Set(ctx, key, value, redis.KeepTTL)
// rdb.Set(ctx, key, value, redis.KeepTTL)
const KeepTTL = -1
func usePrecise(dur time.Duration) bool {
@ -2049,8 +2049,10 @@ func xClaimArgs(a *XClaimArgs) []interface{} {
// xTrim If approx is true, add the "~" parameter, otherwise it is the default "=" (redis default).
// example:
// XTRIM key MAXLEN/MINID threshold LIMIT limit.
// XTRIM key MAXLEN/MINID ~ threshold LIMIT limit.
//
// XTRIM key MAXLEN/MINID threshold LIMIT limit.
// XTRIM key MAXLEN/MINID ~ threshold LIMIT limit.
//
// The redis-server version is lower than 6.2, please set limit to 0.
func (c cmdable) xTrim(
ctx context.Context, key, strategy string,
@ -2298,6 +2300,7 @@ func (c cmdable) ZAddXX(ctx context.Context, key string, members ...*Z) *IntCmd
// ZAddCh Redis `ZADD key CH score member [score member ...]` command.
// Deprecated: Use
//
// client.ZAddArgs(ctx, ZAddArgs{
// Ch: true,
// Members: []Z,
@ -2311,6 +2314,7 @@ func (c cmdable) ZAddCh(ctx context.Context, key string, members ...*Z) *IntCmd
// ZAddNXCh Redis `ZADD key NX CH score member [score member ...]` command.
// Deprecated: Use
//
// client.ZAddArgs(ctx, ZAddArgs{
// NX: true,
// Ch: true,
@ -2326,6 +2330,7 @@ func (c cmdable) ZAddNXCh(ctx context.Context, key string, members ...*Z) *IntCm
// ZAddXXCh Redis `ZADD key XX CH score member [score member ...]` command.
// Deprecated: Use
//
// client.ZAddArgs(ctx, ZAddArgs{
// XX: true,
// Ch: true,
@ -2341,6 +2346,7 @@ func (c cmdable) ZAddXXCh(ctx context.Context, key string, members ...*Z) *IntCm
// ZIncr Redis `ZADD key INCR score member` command.
// Deprecated: Use
//
// client.ZAddArgsIncr(ctx, ZAddArgs{
// Members: []Z,
// })
@ -2353,6 +2359,7 @@ func (c cmdable) ZIncr(ctx context.Context, key string, member *Z) *FloatCmd {
// ZIncrNX Redis `ZADD key NX INCR score member` command.
// Deprecated: Use
//
// client.ZAddArgsIncr(ctx, ZAddArgs{
// NX: true,
// Members: []Z,
@ -2367,6 +2374,7 @@ func (c cmdable) ZIncrNX(ctx context.Context, key string, member *Z) *FloatCmd {
// ZIncrXX Redis `ZADD key XX INCR score member` command.
// Deprecated: Use
//
// client.ZAddArgsIncr(ctx, ZAddArgs{
// XX: true,
// Members: []Z,
@ -2488,11 +2496,13 @@ func (c cmdable) ZPopMin(ctx context.Context, key string, count ...int64) *ZSlic
// ZRangeArgs is all the options of the ZRange command.
// In version> 6.2.0, you can replace the(cmd):
// ZREVRANGE,
// ZRANGEBYSCORE,
// ZREVRANGEBYSCORE,
// ZRANGEBYLEX,
// ZREVRANGEBYLEX.
//
// ZREVRANGE,
// ZRANGEBYSCORE,
// ZREVRANGEBYSCORE,
// ZRANGEBYLEX,
// ZREVRANGEBYLEX.
//
// Please pay attention to your redis-server version.
//
// Rev, ByScore, ByLex and Offset+Count options require redis-server 6.2.0 and higher.
@ -2897,7 +2907,7 @@ func (c cmdable) ClientKill(ctx context.Context, ipPort string) *StatusCmd {
// ClientKillByFilter is new style syntax, while the ClientKill is old
//
// CLIENT KILL <option> [value] ... <option> [value]
// CLIENT KILL <option> [value] ... <option> [value]
func (c cmdable) ClientKillByFilter(ctx context.Context, keys ...string) *IntCmd {
args := make([]interface{}, 2+len(keys))
args[0] = "client"

View File

@ -10,8 +10,8 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"github.com/go-redis/redis/v8/internal/proto"
"git.internal/re/redis/v8"
"git.internal/re/redis/v8/internal/proto"
)
var _ = Describe("Commands", func() {

View File

@ -6,8 +6,8 @@ import (
"net"
"strings"
"github.com/go-redis/redis/v8/internal/pool"
"github.com/go-redis/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/proto"
)
// ErrClosed performs any operation on the closed client will return this error.

View File

@ -2,6 +2,6 @@ module github.com/go-redis/redis/example/del-keys-without-ttl
go 1.14
replace github.com/go-redis/redis/v8 => ../..
replace git.internal/re/redis/v8 => ../..
require github.com/go-redis/redis/v8 v8.11.5
require git.internal/re/redis/v8 v8.11.5

View File

@ -5,7 +5,7 @@ import (
"fmt"
"sync"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
func main() {

View File

@ -2,6 +2,6 @@ module github.com/go-redis/redis/example/hll
go 1.14
replace github.com/go-redis/redis/v8 => ../..
replace git.internal/re/redis/v8 => ../..
require github.com/go-redis/redis/v8 v8.11.5
require git.internal/re/redis/v8 v8.11.5

View File

@ -4,7 +4,7 @@ import (
"context"
"fmt"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
func main() {

View File

@ -2,6 +2,6 @@ module github.com/go-redis/redis/example/redis-bloom
go 1.14
replace github.com/go-redis/redis/v8 => ../..
replace git.internal/re/redis/v8 => ../..
require github.com/go-redis/redis/v8 v8.11.5
require git.internal/re/redis/v8 v8.11.5

View File

@ -4,7 +4,7 @@ import (
"context"
"fmt"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
func main() {

View File

@ -2,7 +2,7 @@ module github.com/go-redis/redis/example/otel
go 1.14
replace github.com/go-redis/redis/v8 => ../..
replace git.internal/re/redis/v8 => ../..
replace github.com/go-redis/redis/extra/redisotel/v8 => ../../extra/redisotel
@ -10,7 +10,7 @@ replace github.com/go-redis/redis/extra/rediscmd/v8 => ../../extra/rediscmd
require (
github.com/go-redis/redis/extra/redisotel/v8 v8.11.5
github.com/go-redis/redis/v8 v8.11.5
git.internal/re/redis/v8 v8.11.5
github.com/uptrace/opentelemetry-go-extra/otelplay v0.1.10
go.opentelemetry.io/otel v1.5.0
go.opentelemetry.io/otel/exporters/jaeger v1.5.0 // indirect

View File

@ -10,8 +10,8 @@ import (
"go.opentelemetry.io/otel/codes"
semconv "go.opentelemetry.io/otel/semconv/v1.7.0"
"git.internal/re/redis/v8"
"github.com/go-redis/redis/extra/redisotel/v8"
"github.com/go-redis/redis/v8"
)
var tracer = otel.Tracer("redisexample")

View File

@ -2,6 +2,6 @@ module github.com/go-redis/redis/example/redis-bloom
go 1.14
replace github.com/go-redis/redis/v8 => ../..
replace git.internal/re/redis/v8 => ../..
require github.com/go-redis/redis/v8 v8.11.5
require git.internal/re/redis/v8 v8.11.5

View File

@ -5,7 +5,7 @@ import (
"fmt"
"math/rand"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
func main() {

View File

@ -2,9 +2,9 @@ module github.com/go-redis/redis/example/scan-struct
go 1.14
replace github.com/go-redis/redis/v8 => ../..
replace git.internal/re/redis/v8 => ../..
require (
github.com/davecgh/go-spew v1.1.1
github.com/go-redis/redis/v8 v8.11.5
git.internal/re/redis/v8 v8.11.5
)

View File

@ -5,7 +5,7 @@ import (
"github.com/davecgh/go-spew/spew"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
type Model struct {

View File

@ -4,7 +4,7 @@ import (
"context"
"fmt"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
type redisHook struct{}

View File

@ -7,7 +7,7 @@ import (
"sync"
"time"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var (

View File

@ -6,9 +6,9 @@ import (
"net"
"strings"
"github.com/go-redis/redis/v8/internal"
"github.com/go-redis/redis/v8/internal/hashtag"
"github.com/go-redis/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal"
"git.internal/re/redis/v8/internal/hashtag"
"git.internal/re/redis/v8/internal/pool"
)
func (c *baseClient) Pool() pool.Pooler {

View File

@ -2,13 +2,13 @@ module github.com/go-redis/redis/extra/rediscensus/v8
go 1.15
replace github.com/go-redis/redis/v8 => ../..
replace git.internal/re/redis/v8 => ../..
replace github.com/go-redis/redis/extra/rediscmd/v8 => ../rediscmd
require (
github.com/go-redis/redis/extra/rediscmd/v8 v8.11.5
github.com/go-redis/redis/v8 v8.11.5
git.internal/re/redis/v8 v8.11.5
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
go.opencensus.io v0.23.0
)

View File

@ -5,8 +5,8 @@ import (
"go.opencensus.io/trace"
"git.internal/re/redis/v8"
"github.com/go-redis/redis/extra/rediscmd/v8"
"github.com/go-redis/redis/v8"
)
type TracingHook struct{}

View File

@ -2,10 +2,10 @@ module github.com/go-redis/redis/extra/rediscmd/v8
go 1.15
replace github.com/go-redis/redis/v8 => ../..
replace git.internal/re/redis/v8 => ../..
require (
github.com/go-redis/redis/v8 v8.11.5
git.internal/re/redis/v8 v8.11.5
github.com/onsi/ginkgo v1.16.5
github.com/onsi/gomega v1.18.1
)

View File

@ -7,7 +7,7 @@ import (
"strings"
"time"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
func CmdString(cmd redis.Cmder) string {

View File

@ -12,7 +12,7 @@ Tracing is enabled by adding a hook:
```go
import (
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
"github.com/go-redis/redis/extra/redisotel"
)

View File

@ -2,13 +2,13 @@ module github.com/go-redis/redis/extra/redisotel/v8
go 1.15
replace github.com/go-redis/redis/v8 => ../..
replace git.internal/re/redis/v8 => ../..
replace github.com/go-redis/redis/extra/rediscmd/v8 => ../rediscmd
require (
github.com/go-redis/redis/extra/rediscmd/v8 v8.11.5
github.com/go-redis/redis/v8 v8.11.5
git.internal/re/redis/v8 v8.11.5
go.opentelemetry.io/otel v1.5.0
go.opentelemetry.io/otel/sdk v1.4.1
go.opentelemetry.io/otel/trace v1.5.0

View File

@ -9,8 +9,8 @@ import (
semconv "go.opentelemetry.io/otel/semconv/v1.7.0"
"go.opentelemetry.io/otel/trace"
"git.internal/re/redis/v8"
"github.com/go-redis/redis/extra/rediscmd/v8"
"github.com/go-redis/redis/v8"
)
const (

View File

@ -2,11 +2,12 @@ package redisotel_test
import (
"context"
semconv "go.opentelemetry.io/otel/semconv/v1.7.0"
"testing"
semconv "go.opentelemetry.io/otel/semconv/v1.7.0"
"git.internal/re/redis/v8"
"github.com/go-redis/redis/extra/redisotel/v8"
"github.com/go-redis/redis/v8"
"go.opentelemetry.io/otel"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
"go.opentelemetry.io/otel/trace"

View File

@ -7,7 +7,7 @@ import (
"context"
"time"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var (

2
go.mod
View File

@ -1,4 +1,4 @@
module github.com/go-redis/redis/v8
module git.internal/re/redis/v8
go 1.17

View File

@ -3,7 +3,7 @@ package hashtag
import (
"strings"
"github.com/go-redis/redis/v8/internal/rand"
"git.internal/re/redis/v8/internal/rand"
)
const slotNumber = 16384

View File

@ -6,7 +6,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8/internal/rand"
"git.internal/re/redis/v8/internal/rand"
)
func TestGinkgoSuite(t *testing.T) {

View File

@ -3,7 +3,7 @@ package internal
import (
"time"
"github.com/go-redis/redis/v8/internal/rand"
"git.internal/re/redis/v8/internal/rand"
)
func RetryBackoff(retry int, minBackoff, maxBackoff time.Duration) time.Duration {

View File

@ -6,7 +6,7 @@ import (
"testing"
"time"
"github.com/go-redis/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/pool"
)
type poolGetPutBenchmark struct {

View File

@ -7,7 +7,7 @@ import (
"sync/atomic"
"time"
"github.com/go-redis/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal/proto"
)
var noDeadline = time.Time{}

View File

@ -8,7 +8,7 @@ import (
"sync/atomic"
"time"
"github.com/go-redis/redis/v8/internal"
"git.internal/re/redis/v8/internal"
)
var (

View File

@ -10,7 +10,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/pool"
)
var _ = Describe("ConnPool", func() {

View File

@ -5,7 +5,7 @@ import (
"fmt"
"io"
"github.com/go-redis/redis/v8/internal/util"
"git.internal/re/redis/v8/internal/util"
)
// redis resp protocol data type.

View File

@ -5,7 +5,7 @@ import (
"io"
"testing"
"github.com/go-redis/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal/proto"
)
func BenchmarkReader_ParseReply_Status(b *testing.B) {

View File

@ -7,10 +7,11 @@ import (
"reflect"
"time"
"github.com/go-redis/redis/v8/internal/util"
"git.internal/re/redis/v8/internal/util"
)
// Scan parses bytes `b` to `v` with appropriate type.
//
//nolint:gocyclo
func Scan(b []byte, v interface{}) error {
switch v := v.(type) {

View File

@ -6,7 +6,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal/proto"
)
type testScanSliceStruct struct {

View File

@ -8,7 +8,7 @@ import (
"strconv"
"time"
"github.com/go-redis/redis/v8/internal/util"
"git.internal/re/redis/v8/internal/util"
)
type writer interface {

View File

@ -11,7 +11,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal/proto"
)
type MyType struct{}

View File

@ -4,7 +4,7 @@ import (
"context"
"time"
"github.com/go-redis/redis/v8/internal/util"
"git.internal/re/redis/v8/internal/util"
)
func Sleep(ctx context.Context, dur time.Duration) error {

View File

@ -6,7 +6,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var _ = Describe("ScanIterator", func() {

View File

@ -15,7 +15,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
const (

View File

@ -13,7 +13,7 @@ import (
"strings"
"time"
"github.com/go-redis/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/pool"
)
// Limiter is the interface of a rate limiter or a circuit breaker.
@ -196,32 +196,38 @@ func (opt *Options) clone() *Options {
// Scheme is required.
// There are two connection types: by tcp socket and by unix socket.
// Tcp connection:
// redis://<user>:<password>@<host>:<port>/<db_number>
//
// redis://<user>:<password>@<host>:<port>/<db_number>
//
// Unix connection:
// unix://<user>:<password>@</path/to/redis.sock>?db=<db_number>
//
// unix://<user>:<password>@</path/to/redis.sock>?db=<db_number>
//
// Most Option fields can be set using query parameters, with the following restrictions:
// - field names are mapped using snake-case conversion: to set MaxRetries, use max_retries
// - only scalar type fields are supported (bool, int, time.Duration)
// - for time.Duration fields, values must be a valid input for time.ParseDuration();
// additionally a plain integer as value (i.e. without unit) is intepreted as seconds
// - to disable a duration field, use value less than or equal to 0; to use the default
// value, leave the value blank or remove the parameter
// - only the last value is interpreted if a parameter is given multiple times
// - fields "network", "addr", "username" and "password" can only be set using other
// URL attributes (scheme, host, userinfo, resp.), query paremeters using these
// names will be treated as unknown parameters
// - unknown parameter names will result in an error
// - field names are mapped using snake-case conversion: to set MaxRetries, use max_retries
// - only scalar type fields are supported (bool, int, time.Duration)
// - for time.Duration fields, values must be a valid input for time.ParseDuration();
// additionally a plain integer as value (i.e. without unit) is intepreted as seconds
// - to disable a duration field, use value less than or equal to 0; to use the default
// value, leave the value blank or remove the parameter
// - only the last value is interpreted if a parameter is given multiple times
// - fields "network", "addr", "username" and "password" can only be set using other
// URL attributes (scheme, host, userinfo, resp.), query paremeters using these
// names will be treated as unknown parameters
// - unknown parameter names will result in an error
//
// Examples:
// redis://user:password@localhost:6789/3?dial_timeout=3&db=1&read_timeout=6s&max_retries=2
// is equivalent to:
// &Options{
// Network: "tcp",
// Addr: "localhost:6789",
// DB: 1, // path "/3" was overridden by "&db=1"
// DialTimeout: 3 * time.Second, // no time unit = seconds
// ReadTimeout: 6 * time.Second,
// MaxRetries: 2,
// }
//
// redis://user:password@localhost:6789/3?dial_timeout=3&db=1&read_timeout=6s&max_retries=2
// is equivalent to:
// &Options{
// Network: "tcp",
// Addr: "localhost:6789",
// DB: 1, // path "/3" was overridden by "&db=1"
// DialTimeout: 3 * time.Second, // no time unit = seconds
// ReadTimeout: 6 * time.Second,
// MaxRetries: 2,
// }
func ParseURL(redisURL string) (*Options, error) {
u, err := url.Parse(redisURL)
if err != nil {

View File

@ -4,7 +4,7 @@ import (
"context"
"sync"
"github.com/go-redis/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/pool"
)
type pipelineExecer func(context.Context, []Cmder) error

View File

@ -6,7 +6,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var _ = Describe("pipelining", func() {

View File

@ -7,7 +7,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var _ = Describe("pool", func() {

View File

@ -7,9 +7,9 @@ import (
"sync"
"time"
"github.com/go-redis/redis/v8/internal"
"github.com/go-redis/redis/v8/internal/pool"
"github.com/go-redis/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal"
"git.internal/re/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/proto"
)
// PubSub implements Pub/Sub commands as described in

View File

@ -10,7 +10,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var _ = Describe("PubSub", func() {

View File

@ -13,7 +13,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var _ = Describe("races", func() {

View File

@ -7,9 +7,9 @@ import (
"sync/atomic"
"time"
"github.com/go-redis/redis/v8/internal"
"github.com/go-redis/redis/v8/internal/pool"
"github.com/go-redis/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal"
"git.internal/re/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/proto"
)
// Nil reply returned by Redis when key does not exist.
@ -668,26 +668,26 @@ func (c *Client) pubSub() *PubSub {
// subscription may not be active immediately. To force the connection to wait,
// you may call the Receive() method on the returned *PubSub like so:
//
// sub := client.Subscribe(queryResp)
// iface, err := sub.Receive()
// if err != nil {
// // handle error
// }
// sub := client.Subscribe(queryResp)
// iface, err := sub.Receive()
// if err != nil {
// // handle error
// }
//
// // Should be *Subscription, but others are possible if other actions have been
// // taken on sub since it was created.
// switch iface.(type) {
// case *Subscription:
// // subscribe succeeded
// case *Message:
// // received first message
// case *Pong:
// // pong received
// default:
// // handle error
// }
// // Should be *Subscription, but others are possible if other actions have been
// // taken on sub since it was created.
// switch iface.(type) {
// case *Subscription:
// // subscribe succeeded
// case *Message:
// // received first message
// case *Pong:
// // pong received
// default:
// // handle error
// }
//
// ch := sub.Channel()
// ch := sub.Channel()
func (c *Client) Subscribe(ctx context.Context, channels ...string) *PubSub {
pubsub := c.pubSub()
if len(channels) > 0 {

View File

@ -11,7 +11,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
type redisHookError struct {

View File

@ -14,10 +14,10 @@ import (
"github.com/cespare/xxhash/v2"
rendezvous "github.com/dgryski/go-rendezvous" //nolint
"github.com/go-redis/redis/v8/internal"
"github.com/go-redis/redis/v8/internal/hashtag"
"github.com/go-redis/redis/v8/internal/pool"
"github.com/go-redis/redis/v8/internal/rand"
"git.internal/re/redis/v8/internal"
"git.internal/re/redis/v8/internal/hashtag"
"git.internal/re/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/rand"
)
var errRingShardsDown = errors.New("redis: all ring shards are down")

View File

@ -12,7 +12,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var _ = Describe("Redis Ring", func() {

View File

@ -9,9 +9,9 @@ import (
"sync"
"time"
"github.com/go-redis/redis/v8/internal"
"github.com/go-redis/redis/v8/internal/pool"
"github.com/go-redis/redis/v8/internal/rand"
"git.internal/re/redis/v8/internal"
"git.internal/re/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/rand"
)
//------------------------------------------------------------------------------

View File

@ -6,7 +6,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var _ = Describe("Sentinel", func() {
@ -221,7 +221,7 @@ var _ = Describe("SentinelAclAuth", func() {
var client *redis.Client
var sentinel *redis.SentinelClient
var sentinels = func() []*redisProcess {
sentinels := func() []*redisProcess {
return []*redisProcess{sentinel1, sentinel2, sentinel3}
}

4
tx.go
View File

@ -3,8 +3,8 @@ package redis
import (
"context"
"github.com/go-redis/redis/v8/internal/pool"
"github.com/go-redis/redis/v8/internal/proto"
"git.internal/re/redis/v8/internal/pool"
"git.internal/re/redis/v8/internal/proto"
)
// TxFailedErr transaction redis failed.

View File

@ -8,7 +8,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var _ = Describe("Tx", func() {

View File

@ -4,7 +4,7 @@ import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/go-redis/redis/v8"
"git.internal/re/redis/v8"
)
var _ = Describe("UniversalClient", func() {