1
0
mirror of https://github.com/redis/go-redis.git synced 2025-06-12 14:21:52 +03:00
Commit Graph

192 Commits

Author SHA1 Message Date
a2410beb43 upgrade golangci-lint to v1.39.0
Signed-off-by: monkey <golang@88.com>
2021-04-08 14:44:31 +08:00
02a9c81ef1 Fix golangci-lint check 2021-03-23 11:02:29 +02:00
1b77706c0c Optimize Otel instrumentation 2021-03-20 10:01:48 +02:00
1f32092a3b Update OpenTelemetry to 0.17.0 and fix "undefined: otel.Meter" 2021-02-16 11:38:55 +01:00
8b19c31049 Make FailoverClient(sentinel mode) more robust (#1655)
* add failover option AllowDisconnectedSlaves

* checkout unrelated changes

* Make NewFailoverClient (sentinel mode) robust.

* fix lint issue

* Fix bug

* Fix lint issue

* add comment

* checkout unrelated changes

* Refine code

* checkout unrelated changes
2021-02-10 17:20:08 +02:00
27df2313cd hscan adds support for i386 platform (#1652)
* hscan adds support for i386 platform

Signed-off-by: monkey <monkey92t@gmail.com>

* update go.sum

Signed-off-by: monkey <monkey92t@gmail.com>

* detect overflow of scan

Signed-off-by: monkey <golang@88.com>

* restore the return value type of decoderFunc to error

Signed-off-by: monkey <golang@88.com>

* fix clean

Signed-off-by: monkey <golang@88.com>

* fix clean

Signed-off-by: monkey <golang@88.com>

Co-authored-by: Monkey <monkey@MonkeydeiMac.local>
2021-02-09 14:44:24 +02:00
b358584bd3 Fix build 2021-02-04 09:34:10 +02:00
bd234b91fe Add StructValue so we don't need temp slices to pass keys and values 2021-02-03 12:45:02 +02:00
f9dfc7a949 Refactor scan signature to work with Slice and StringMap cmds 2021-02-02 16:28:10 +05:30
a4144ea98e Add SliceCmd.Scan() (hscan pkg) and tests 2021-02-02 13:04:52 +05:30
380ab17274 Fix cleanup 2021-01-29 12:12:47 +02:00
8926f2992a Cleanup 2021-01-29 12:04:39 +02:00
6f96bebac7 Add redis.Scan() to scan results from redis maps into structs.
The package uses reflection to decode default types (int, string
etc.) from Redis map results (key-value pair sequences) into
struct fields where the fields are matched to Redis keys by tags.

Similar to how `encoding/json` allows custom decoders using
`UnmarshalJSON()`, the package supports decoding of arbitrary
types into struct fields by defining a `Decode(string) error`
function on types.

The field/type spec of every struct that's passed to Scan() is
cached in the package so that subsequent scans avoid iteration
and reflection of the struct's fields.
2021-01-28 18:04:38 +05:30
76fd0eac61 Fix Tx pipeline hook 2021-01-09 09:57:46 +02:00
55a8f1a601 Merge pull request #1567 from go-redis/feature/otel-0.14
Update to otel v0.14
2020-11-21 10:12:54 +02:00
3921cd497c Update to otel v0.14 2020-11-21 09:56:52 +02:00
f5a1707d3c Update golangci-lint to v1.32 2020-11-17 23:08:15 +09:00
13782c03d0 Tweak otel span and attr names 2020-11-15 14:30:27 +02:00
f92951b835 Guard against overflow in retry 2020-10-28 11:12:46 +02:00
a6876ad84a Move Scan test 2020-10-13 09:33:12 +03:00
f169894120 Fix/issue 1384 (#1529)
Add support for scanning time.TIme
2020-10-13 09:13:43 +03:00
e1b0a0bd7e Cleanup readLine 2020-10-10 12:26:21 +03:00
39571ccc56 Improves performance 2020-10-09 15:06:47 +02:00
97bbed8a92 Fixes issue where a buffer larger than 4096
bytes cannot be read
2020-10-09 11:35:14 +02:00
566840fe27 otel: add RemoteAddr 2020-09-28 17:35:49 +03:00
3e42145a26 Remove arg hex encoding 2020-09-24 10:09:09 +03:00
86326c4924 Refactor NewXInfoGroupsCmd 2020-09-23 11:50:31 +03:00
3fc96195a4 Reduce dependency chain 2020-09-17 14:32:08 +01:00
ef220d0944 Tweak append arg 2020-09-05 13:17:26 +03:00
c357d18624 Faster renew the subscription 2020-09-05 10:56:09 +03:00
6db422f051 Port pool fixes 2020-08-15 15:45:15 +03:00
3fbf7df014 Fix test 2020-07-28 16:26:03 +03:00
0f5d67c102 Fix zero backoff 2020-07-28 16:14:54 +03:00
6e3d4a53c6 Tweak backoff 2020-07-28 15:42:38 +03:00
8a3f304b25 Log with context to associate all log by traceID (#1413)
* Log with context to associate all log by traceID
2020-07-18 09:04:36 +03:00
f2645d373d Merge pull request #1405 from fishy/atomic-value-last-dial-error
Use atomic.Value instead of lock for ConnPool.lastDialError
2020-07-16 10:41:42 +03:00
38c87c1f84 Fix golangci 2020-07-16 10:01:27 +03:00
14c843ef89 gofumports 2020-07-16 09:52:07 +03:00
62469e4f42 Introduce metrics capture with OpenTelemetry (#1398)
* internal: Add instrumentation

Co-authored-by: reggiemcdonald <regmcdonald95@gmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-07-15 12:07:07 +03:00
4f70db6849 Use atomic.Value instead of lock for ConnPool.lastDialError
This makes the reading and writing of lastDialError from the pool
faster, as atomic.Value is much more lightweight than the mutex.

Note that using error in atomic.Value directly could cause panics,
because errors could have inconsistent types. Thus wrap them with a
simple struct.
2020-07-14 11:25:59 -07:00
8f29d08432 Don't record proto.Nil 2020-07-09 11:00:23 +03:00
1831363467 Add RecordError 2020-07-09 10:39:46 +03:00
64995f9a51 Tweak auto-reloads 2020-06-29 17:51:47 +03:00
0ffefcde98 Use random node to load cluster slots 2020-06-29 17:26:11 +03:00
789ee0484f Remove io.StringWriter 2020-06-12 10:09:32 +03:00
8eed1e67ff Add OpenTelemetryHook 2020-06-09 17:17:41 +03:00
694e518a8c Use Rendezvous in Ring. Thanks @rafaeleyng for initial idea and implementation 2020-06-08 13:22:37 +03:00
4440575966 Merge branch 'v8' 2020-05-21 10:16:44 +03:00
a7c11d9699 Merge pull request #1285 from kudrykv/issue-1279
Use an interface for logging
2020-05-21 10:08:11 +03:00
0c500078e5 Merge pull request #1273 from theo-delaune-argus/time-nanoseconds
Store time in RFC3339Nano to keep nanoseconds
2020-05-21 09:39:48 +03:00