redis/go-redis (github.com/redis/go-redis/v9)
### [`v9.3.0`](https://togithub.com/redis/go-redis/releases/tag/v9.3.0): 9.3.0
[Compare Source](https://togithub.com/redis/go-redis/compare/v9.2.1...v9.3.0)
#### What's new?
##### JSON support
We are continuing to add support for more [Redis data types](https://redis.io/docs/data-types/) in Go-Redis. Today, we are happy to announce support for JSON. [JSON is a Redis data structure](https://redis.io/docs/data-types/json/) for storing, querying, and manipulating a single JSON document.
With a JSON key in Redis, you can:
- Use it as a versatile hierarchical data type
- Opt for it as a sophisticated alternative to the traditional hash data structure
- Treat it as a singular document in a document-based database
The following example demonstrate how to get started with JSON in Go-Redis:
```go
var ctx = context.Background()
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
})
type Bicycle struct {
Brand string
Model string
Price int
}
bicycle := Bicycle{
Brand: "Velorim",
Model: "Jigger",
Price: 270,
}
_, err := client.JSONSet(ctx, "bicycle:1", "$", bicycle).Result()
if err != nil {
panic(err)
}
res, err := client.JSONGet(ctx, "bicycle:1", ".Model").Result()
if err != nil {
panic(err)
}
fmt.Println("bicycle:1 model is", res)
```
[Learn more about JSON support in Redis](https://redis.io/docs/data-types/json/)
##### Other notable improvements
- Allow using pointers of simple data types as command values ([#2745](https://togithub.com/redis/go-redis/issues/2745)) ([#2753](https://togithub.com/redis/go-redis/issues/2753))
- Add InfoMap command ([#2665](https://togithub.com/redis/go-redis/issues/2665))
#### 🐛 Bug Fixes
- Handle wrapped errors in scripter.Run ([#2674](https://togithub.com/redis/go-redis/issues/2674))
- BUG: BFReserveArgs - error_rate & capacity ([#2763](https://togithub.com/redis/go-redis/issues/2763))
- fix: free turn of connection pool when leave with error ([#2658](https://togithub.com/redis/go-redis/issues/2658))
- Add BitMapCmdable to Cmdable. ([#2737](https://togithub.com/redis/go-redis/issues/2737))
#### 🧰 Maintenance
- Option types must propagage missing fields ([#2726](https://togithub.com/redis/go-redis/issues/2726))
- fix missing fields in different Options ([#2757](https://togithub.com/redis/go-redis/issues/2757))
- update PubSub.Channel documentation ([#2761](https://togithub.com/redis/go-redis/issues/2761))
- Linking to Redis learning resources ([#2759](https://togithub.com/redis/go-redis/issues/2759))
- Creating CODEOWNERS for documentation ([#2749](https://togithub.com/redis/go-redis/issues/2749))
- chore(deps): bump rojopolis/spellcheck-github-actions from 0.33.1 to 0.34.0 ([#2740](https://togithub.com/redis/go-redis/issues/2740))
- chore(deps): bump google.golang.org/grpc from 1.55.0 to 1.56.3 in /example/otel ([#2775](https://togithub.com/redis/go-redis/issues/2775))
- chore(deps): bump golang.org/x/net from 0.10.0 to 0.17.0 in /example/otel ([#2776](https://togithub.com/redis/go-redis/issues/2776))
- Fix OpenTelemetry link in README ([#2755](https://togithub.com/redis/go-redis/issues/2755))
#### Contributors
We'd like to thank all the contributors who worked on this release!
[@Sovietaced](https://togithub.com/Sovietaced), [@chayim](https://togithub.com/chayim), [@chenjie199234](https://togithub.com/chenjie199234), [@cyningsun](https://togithub.com/cyningsun), [@dependabot](https://togithub.com/dependabot), [@dependabot](https://togithub.com/dependabot)\[bot], [@fred84](https://togithub.com/fred84), [@nic-gibson](https://togithub.com/nic-gibson), [@ofekshenawa](https://togithub.com/ofekshenawa), [@peczenyj](https://togithub.com/peczenyj), [@sethrylan](https://togithub.com/sethrylan), [@snaffi](https://togithub.com/snaffi), [@tzq0301](https://togithub.com/tzq0301) and [@vmihailenco](https://togithub.com/vmihailenco)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
v9.2.1
->v9.3.0
Release Notes
redis/go-redis (github.com/redis/go-redis/v9)
### [`v9.3.0`](https://togithub.com/redis/go-redis/releases/tag/v9.3.0): 9.3.0 [Compare Source](https://togithub.com/redis/go-redis/compare/v9.2.1...v9.3.0) #### What's new? ##### JSON support We are continuing to add support for more [Redis data types](https://redis.io/docs/data-types/) in Go-Redis. Today, we are happy to announce support for JSON. [JSON is a Redis data structure](https://redis.io/docs/data-types/json/) for storing, querying, and manipulating a single JSON document. With a JSON key in Redis, you can: - Use it as a versatile hierarchical data type - Opt for it as a sophisticated alternative to the traditional hash data structure - Treat it as a singular document in a document-based database The following example demonstrate how to get started with JSON in Go-Redis: ```go var ctx = context.Background() client := redis.NewClient(&redis.Options{ Addr: "localhost:6379", }) type Bicycle struct { Brand string Model string Price int } bicycle := Bicycle{ Brand: "Velorim", Model: "Jigger", Price: 270, } _, err := client.JSONSet(ctx, "bicycle:1", "$", bicycle).Result() if err != nil { panic(err) } res, err := client.JSONGet(ctx, "bicycle:1", ".Model").Result() if err != nil { panic(err) } fmt.Println("bicycle:1 model is", res) ``` [Learn more about JSON support in Redis](https://redis.io/docs/data-types/json/) ##### Other notable improvements - Allow using pointers of simple data types as command values ([#2745](https://togithub.com/redis/go-redis/issues/2745)) ([#2753](https://togithub.com/redis/go-redis/issues/2753)) - Add InfoMap command ([#2665](https://togithub.com/redis/go-redis/issues/2665)) #### 🐛 Bug Fixes - Handle wrapped errors in scripter.Run ([#2674](https://togithub.com/redis/go-redis/issues/2674)) - BUG: BFReserveArgs - error_rate & capacity ([#2763](https://togithub.com/redis/go-redis/issues/2763)) - fix: free turn of connection pool when leave with error ([#2658](https://togithub.com/redis/go-redis/issues/2658)) - Add BitMapCmdable to Cmdable. ([#2737](https://togithub.com/redis/go-redis/issues/2737)) #### 🧰 Maintenance - Option types must propagage missing fields ([#2726](https://togithub.com/redis/go-redis/issues/2726)) - fix missing fields in different Options ([#2757](https://togithub.com/redis/go-redis/issues/2757)) - update PubSub.Channel documentation ([#2761](https://togithub.com/redis/go-redis/issues/2761)) - Linking to Redis learning resources ([#2759](https://togithub.com/redis/go-redis/issues/2759)) - Creating CODEOWNERS for documentation ([#2749](https://togithub.com/redis/go-redis/issues/2749)) - chore(deps): bump rojopolis/spellcheck-github-actions from 0.33.1 to 0.34.0 ([#2740](https://togithub.com/redis/go-redis/issues/2740)) - chore(deps): bump google.golang.org/grpc from 1.55.0 to 1.56.3 in /example/otel ([#2775](https://togithub.com/redis/go-redis/issues/2775)) - chore(deps): bump golang.org/x/net from 0.10.0 to 0.17.0 in /example/otel ([#2776](https://togithub.com/redis/go-redis/issues/2776)) - Fix OpenTelemetry link in README ([#2755](https://togithub.com/redis/go-redis/issues/2755)) #### Contributors We'd like to thank all the contributors who worked on this release! [@Sovietaced](https://togithub.com/Sovietaced), [@chayim](https://togithub.com/chayim), [@chenjie199234](https://togithub.com/chenjie199234), [@cyningsun](https://togithub.com/cyningsun), [@dependabot](https://togithub.com/dependabot), [@dependabot](https://togithub.com/dependabot)\[bot], [@fred84](https://togithub.com/fred84), [@nic-gibson](https://togithub.com/nic-gibson), [@ofekshenawa](https://togithub.com/ofekshenawa), [@peczenyj](https://togithub.com/peczenyj), [@sethrylan](https://togithub.com/sethrylan), [@snaffi](https://togithub.com/snaffi), [@tzq0301](https://togithub.com/tzq0301) and [@vmihailenco](https://togithub.com/vmihailenco)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.