What's new?
JSON support
We are continuing to add support for more Redis data types in Go-Redis. Today, we are happy to announce support for JSON. JSON is a Redis data structure 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:
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
Other notable improvements
- Allow using pointers of simple data types as command values (#2745) (#2753)
- Add InfoMap command (#2665)
🐛 Bug Fixes
- Handle wrapped errors in scripter.Run (#2674)
- BUG: BFReserveArgs - error_rate & capacity (#2763)
- fix: free turn of connection pool when leave with error (#2658)
- Add BitMapCmdable to Cmdable. (#2737)
🧰 Maintenance
- Option types must propagage missing fields (#2726)
- fix missing fields in different Options (#2757)
- update PubSub.Channel documentation (#2761)
- Linking to Redis learning resources (#2759)
- Creating CODEOWNERS for documentation (#2749)
- chore(deps): bump rojopolis/spellcheck-github-actions from 0.33.1 to 0.34.0 (#2740)
- chore(deps): bump google.golang.org/grpc from 1.55.0 to 1.56.3 in /example/otel (#2775)
- chore(deps): bump golang.org/x/net from 0.10.0 to 0.17.0 in /example/otel (#2776)
- Fix OpenTelemetry link in README (#2755)
Contributors
We'd like to thank all the contributors who worked on this release!
@Sovietaced, @chayim, @chenjie199234, @cyningsun, @dependabot, @dependabot[bot], @fred84, @nic-gibson, @ofekshenawa, @peczenyj, @sethrylan, @snaffi, @tzq0301 and @vmihailenco