1
0
mirror of https://github.com/redis/go-redis.git synced 2025-04-16 09:23:06 +03:00

2601 Commits

Author SHA1 Message Date
ofekshenawa
a402c55344
Add vector types INT8 and UINT8 test (#3299) 2025-03-18 18:05:45 +02:00
b1ackd0t
8269e6a22a
fix(tracing): show the whole command rather than truncated version of it (#3290)
Truncate version of a long key might not be useful when debugging

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-18 14:50:29 +02:00
Nedyalko Dyakov
9494d8498a
chore: use redis 8 ce m05 (#3304)
* use m05

* add platform, since client-libs has image for amd64

* verbose testing

* Update .github/workflows/build.yml
2025-03-18 14:20:18 +02:00
dependabot[bot]
b3709c6506
chore(deps): bump golangci/golangci-lint-action from 6.5.0 to 6.5.1 (#3302)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.5.0 to 6.5.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v6.5.0...v6.5.1)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-17 16:27:26 +02:00
Monkey
4f09082f6b
fix: connection pool timeout, increase retries (#3298)
* fix: connection pool timeout, increase retries

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

* fix: add shouldRetry test

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

---------

Signed-off-by: monkey <golang@88.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-14 10:05:22 +02:00
LINKIWI
1c9309fdc2
Set client name in HELLO RESP handshake (#3294) 2025-03-13 14:55:28 +02:00
ofekshenawa
555a41ecc7
Enable dialect 2 on default (#3213)
* Enable dialect 2 on deafult

* add vector test for default dialect

* Add dialect 1 test

* Add dialect 1 test & fix ft.search

* Add default dialect to Readme
2025-03-13 14:54:25 +02:00
David Maier
310ce55c59
Update README.md
Minor update on the README by highlighting that go-redis is the official Redis library. The note about Uptrace was moved to the 'contributors' section of the README.
2025-03-12 14:57:19 +01:00
milad
8fadbef84a
add readOnly on failover opts (#3281)
* add readOnly on failover opts

add failover that if is True it connects to slaves

* add test

* add test for slave connect

* fix test

* fix tests

* skip Flaky

* add more tests on slave

* add test

* delete file

* Update universal_test.go

enable previously skipped test.

* rm skip from sentinels

* rm tmp files

* Update universal_test.go

don't run sentinel test in RE

* Update universal_test.go

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-06 16:53:14 +02:00
Bhargav Dodla
162a15432b
fix: Fixed issue with context cancelled error leading to connection spikes on Primary instances (#3190)
* fix: Fixed issue with context cancelled error leading to connection spikes on Master

* fix: Added tests

* fix: Updated tests

---------

Co-authored-by: Bhargav Dodla <bdodla@expediagroup.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-05 22:08:27 +02:00
Nedyalko Dyakov
8e4a2ee5c5
fix(test): sort results in example test (#3292) 2025-03-04 14:28:08 +02:00
fengyun.rui
cd55713972
feat: add hstrlen command for hash (#2843)
* feat: add hstrlen command for hash

Signed-off-by: rfyiamcool <rfyiamcool@163.com>

* feat: add hstrlen command for hash

Signed-off-by: rfyiamcool <rfyiamcool@163.com>

---------

Signed-off-by: rfyiamcool <rfyiamcool@163.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-04 13:31:45 +02:00
Nedyalko Dyakov
ebe11d06ca
feat: Enable CI for Redis CE 8.0 (#3274)
* chore: extract benchmark tests

* wip

* enable pubsub tests

* enable ring tests

* stop tests with build redis from source

* start all tests

* mix of makefile and action

* add sentinel configs

* fix example test

* stop debug on re

* wip

* enable gears for redis 7.2

* wip

* enable sentinel, they are expected to fail

* fix: linter configuration

* chore: update re versions

* return older redis enterprise version

* add basic codeql

* wip: increase timeout, focus only sentinel tests

* sentinels with docker network host

* enable all tests

* fix flanky test

* enable example tests

* tidy docker compose

* add debug output

* stop shutingdown masters

* don't test sentinel for re

* skip unsuported addscores

* Update README

bump go version in CI

* Update README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update CONTRIBUTING.md

add information about new test setup

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-02-28 12:49:00 +02:00
Flc゛
5314a57132
fix(redisotel): fix the situation of reporting spans multiple times (#3168)
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-27 17:14:46 +02:00
Rushikesh Joshi
7d55118554
feat: support Elasticache cluster mode by introducing IsClusterMode config param (#3255)
Co-authored-by: Rushikesh Joshi <rushikesh.joshi@sap.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-26 18:25:55 +02:00
Tom Bayes
d4e74b125d
Add test codes for search_commands.go (#3285)
* feat: add test codes for search_commands.go

* feat: move ftaggregate tests to search_test.go

* Update search_test.go

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>

* feat: remove reflect from test

* Update search_test.go

fix type in Sprintf

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-26 17:39:45 +02:00
Nedyalko Dyakov
aa7019d718
V9.7.1 -> master (#3287) 2025-02-24 12:45:08 +02:00
fengyun.rui
30e7388c88
fix: race slice for list function of ring client (#2931)
* fix: race slice for list of ring client

Signed-off-by: rfyiamcool <rfyiamcool@163.com>

* fix: copy wrong list

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>

---------

Signed-off-by: rfyiamcool <rfyiamcool@163.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-20 16:55:54 +02:00
Ali Error
37accb4b28
fix: nil pointer dereferencing in writeArg (#3271)
* fixed bug with nil dereferencing in writeArg, added hset struct example, added tests

* removed password from example

* added omitempty

* reverted xxhash versioning

* reverted xxhash versioning

* removed password

* removed password

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-20 16:54:11 +02:00
andy-stark-redis
747190e231
DOC-4329 added range query examples (#3252)
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-20 16:23:05 +02:00
alingse
f3c2711fe1
move regexp.MustCompile close to call (#3280)
* move regexp.MustCompile out of func

* move moduleRe close to call

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-20 16:22:34 +02:00
herodot
7e517ec4a1
fix(search&aggregate):fix error overwrite and typo #3220 (#3224)
* fix (#3220)

* LOAD has NO AS param(https://redis.io/docs/latest/commands/ft.aggregate/)

* fix typo: WITHCOUT -> WITHCOUNT

* fix (#3220):

    * Compatible with known RediSearch issue in test

* fix (#3220)

    * fixed the calculation bug of the count of load params

* test should not include special condition

* return errors when they occur

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
2025-02-20 15:55:49 +02:00
dependabot[bot]
c29d399be6
chore(deps): bump rojopolis/spellcheck-github-actions (#3276)
Bumps [rojopolis/spellcheck-github-actions](https://github.com/rojopolis/spellcheck-github-actions) from 0.46.0 to 0.47.0.
- [Release notes](https://github.com/rojopolis/spellcheck-github-actions/releases)
- [Changelog](https://github.com/rojopolis/spellcheck-github-actions/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rojopolis/spellcheck-github-actions/compare/0.46.0...0.47.0)

---
updated-dependencies:
- dependency-name: rojopolis/spellcheck-github-actions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-18 16:04:03 +02:00
Nedyalko Dyakov
a17250d6bc
fix: linter configuration (#3279) 2025-02-18 13:51:22 +02:00
Nedyalko Dyakov
196fc9b21a
use limit when limitoffset is zero (#3275) 2025-02-14 13:07:39 +02:00
LINKIWI
9db1286414
Reinstate read-only lock on hooks access in dialHook (#3225) 2025-02-11 17:50:31 +02:00
Flc゛
40e049e67a
chore(deps): update github.com/cespare/xxhash/v2 to v2.3.0 (#3265)
* chore(deps): update github.com/cespare/xxhash/v2 to v2.3.0

* chore(deps): update github.com/cespare/xxhash/v2 to v2.3.0
2025-02-10 15:03:50 +02:00
Flc゛
021faad4fa
test(redisotel): rename redisotel_test.go to tracing_test.go and add tracing hook tests (#3270)
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-10 14:55:40 +02:00
Nedyalko Dyakov
acbf4a688f
test: add test for info in RCE 8 (#3269) 2025-02-10 14:55:15 +02:00
andy-stark-redis
71311d8044
DOC-4335 added aggregate query examples (#3259)
* DOC-4335 added aggregate query examples (demonstrating errors)

* DOC-4335 remove incomplete examples

* DOC-4335 added missing examples using latest client updates

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-10 14:22:43 +02:00
Nedyalko Dyakov
7f8b5a8167
fix: flaky ClientKillByFilter test (#3268) 2025-02-07 12:56:16 +02:00
Nedyalko Dyakov
d0f921357d
fix: add unstableresp3 to cluster client (#3266)
* fix: add unstableresp3 to cluster client

* propagate unstableresp3

* proper test that will ignore error, but fail if client panics

* add separate test for clusterclient constructor
2025-02-07 12:09:49 +02:00
Nedyalko Dyakov
27f19ea672
fix(aggregate, search): ft.aggregate bugfixes (#3263)
* fix: rearange args for ft.aggregate

apply should be before any groupby or sortby

* improve test

* wip: add scorer and addscores

* enable all tests

* fix ftsearch with count test

* make linter happy

* Addscores is available in later redisearch releases.

For safety state it is available in redis ce 8

* load an apply seem to break scorer and addscores
2025-02-07 11:29:26 +02:00
dependabot[bot]
84cb9d27f2
chore(deps): bump rojopolis/spellcheck-github-actions (#3227)
Bumps [rojopolis/spellcheck-github-actions](https://github.com/rojopolis/spellcheck-github-actions) from 0.45.0 to 0.46.0.
- [Release notes](https://github.com/rojopolis/spellcheck-github-actions/releases)
- [Changelog](https://github.com/rojopolis/spellcheck-github-actions/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rojopolis/spellcheck-github-actions/compare/0.45.0...0.46.0)

---
updated-dependencies:
- dependency-name: rojopolis/spellcheck-github-actions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-07 11:02:15 +02:00
andy-stark-redis
1faab1f657
DOC-4300 added exact match examples (#3251)
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-07 10:52:49 +02:00
andy-stark-redis
2418111e62
DOC-4332 added geo query examples (#3257)
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-07 10:42:38 +02:00
andy-stark-redis
fb809bb642
DOC-4331 added full text query examples (#3256)
* DOC-4331 added full text query examples

* DOC-4331 made tests deterministic with sort

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-07 10:34:51 +02:00
andy-stark-redis
86bb1433ca
DOC-4799 fixed capped list example (#3260)
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-07 10:33:11 +02:00
andy-stark-redis
3cef280602
DOC-4734 added geo indexing examples (#3240)
* DOC-4734 added geo indexing examples

* DOC-4734 delete keys before starting tests

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-07 10:31:01 +02:00
Nedyalko Dyakov
0b34b1909a
feat(command): add ACL commands, validate module categories exist (#3262)
* add ACL{SetUser,DelUser,List} commands

* test presence of categories in acl cat

* code cleanup

* add basic acl tests

* add acl modules tests

* reset acl log before test

* refactor acl tests

* fix clientkillbyage test
2025-02-05 15:44:09 +02:00
Julien Riou
3d4310ae96
feat(options): add skip_verify param (#3216)
* feat(options): Add skip_verify param

When parsing a URL, add a "skip_verify" query param to disable TLS certificate
verification.

Inspired by various Go drivers:

* ClickHouse: https://github.com/ClickHouse/clickhouse-go/blob/v2.30.0/clickhouse_options.go#L259
* MongoDB: https://github.com/mongodb/mongo-go-driver/blob/v2.0.0/x/mongo/driver/connstring/connstring.go#L609
* MySQL: https://github.com/go-sql-driver/mysql/blob/v1.8.1/dsn.go#L175

Signed-off-by: Julien Riou <julien@riou.xyz>

* docs(options): Add skip_verify to ParseURL

Signed-off-by: Julien Riou <julien@riou.xyz>

---------

Signed-off-by: Julien Riou <julien@riou.xyz>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-04 11:34:08 +02:00
dependabot[bot]
d8a9655c21
chore(deps): bump github.com/cespare/xxhash/v2 from 2.2.0 to 2.3.0 (#2964)
Bumps [github.com/cespare/xxhash/v2](https://github.com/cespare/xxhash) from 2.2.0 to 2.3.0.
- [Commits](https://github.com/cespare/xxhash/compare/v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: github.com/cespare/xxhash/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-04 10:28:08 +02:00
ZhuHaiCheng
beb8692fc3
chore: fix some comments (#3226)
Signed-off-by: zhuhaicity <zhuhai@52it.net>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-03 19:29:02 +02:00
Nedyalko Dyakov
a39be37273
feat(tests): validate that ConfigSet and ConfigGet work with Modules (#3258)
* Add tests for unified config in Redis 8

* WIP: fix reading FT.CONFIG with RESP3

* add more tests

* use search-timeout

* move deprecated warnings on the bottom
2025-02-03 19:10:54 +02:00
Shawn Wang
d0fb810b13
Fix race condition in clusterNodes.Addrs() (#3219)
Resolve a race condition in the clusterNodes.Addrs() method.
Previously, the method returned a reference to a string slice, creating
the potential for concurrent reads by the caller while the slice was
being modified by the garbage collection process.

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-02-03 16:15:00 +02:00
Nedyalko Dyakov
1139bc3aa9
fix(tests): enable testing with Redis CE 8.0-M4 in CI (#3247)
* introduce github workflow for ci similar to the one in redis-py

use prerelease for 8.0-M4

* Enable osscluster tests in CI

* Add redis major version env

Enable filtering test per redis major version
Fix test for FT.SEARCH WITHSCORE, the default scorer
has changed.

fix Makefile syntax

remove filter from github action

fix makefile

use the container name in Makefile

* remove 1.20 from doctests

* self review, cleanup, add comments

* add comments, reorder prints, add default value for REDIS_MAJOR_VERSION
2025-01-31 16:14:11 +02:00
andy-stark-redis
9f9fa221a8
DOC-4444 server management command examples (#3235) 2025-01-31 14:57:14 +02:00
dependabot[bot]
1b4abd6dc6
chore(deps): bump golang.org/x/net in /example/otel (#3243)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.23.0 to 0.33.0.
- [Commits](https://github.com/golang/net/compare/v0.23.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-01-29 17:56:20 +02:00
Nedyalko Dyakov
94b88f5ab2
fix(command): add missing io-thread key in client info (#3244)
* Add 8.0m3 image in docker compose

* Add new key `io-thread` in client info

Redis 8.0 introduces new key `io-thread` in the response
for client info. The key needs to be parsed. If an unknown key
is observed, the client will return an error.

* improve readibility

* Revert "Add 8.0m3 image in docker compose"

This reverts commit 787c41f42917fb7d3ca3471d9941304695a9b3c8.

* add dockers directory to gitignore
2025-01-23 14:47:28 +02:00
Nedyalko Dyakov
efe0f65bf0
Order slices of strings to be sure what the output of Println in doctests will be. (#3241)
* Sort the slices of strings in doctest to make the output deterministic

* fix wording
2025-01-20 11:32:10 +02:00