Redis Go client
Note: This release fixes the SETINFO issue from 9.5.0. This release restores connections to redis versions that do not have SETINFO. Thank you to our amazing community for their help with this issue
We'd like to thank all the contributors who worked on this release!
@ofekshenawa
Note: This release implements SETINFO by default, and currently breaks with Redis versions prior to 7.2 due to the way the change was implemented. It should have failed silently, but did not. 9.5.1 will fix this. To disable this behaviour, with this release, please DisableIdentity: true
in your RedisOptions
struct.
We'd like to thank all the contributors who worked on this release!
@OlegStotsky, @abusizhishen, @dependabot, @dependabot[bot], @johnduhart, @limotley, @ofekshenawa, @peczenyj, @rfyiamcool, and @vmihailenco
We'd like to thank all the contributors who worked on this release!
@lowang-bh and @ofekshenawa
We'd like to thank all the contributors who worked on this release!
@RyoMiyashita, @dependabot, @dependabot[bot], @lzakharov, @ofekshenawa, @rfyiamcool, @rouzier, @splundid and @x1nchen
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:
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
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
Cmdable
(#2725)We'd like to thank all the contributors who worked on this release!
@Juneezee, @dependabot, @dependabot[bot], @gabrielgio and @ofekshenawa
We are happy to announce support for Time Series. This enhancement allows developers to leverage the time series data structure directly within Go-Redis, enabling efficient ingestion, querying, and storage of time-sequential data. Whether you're tracking metrics, logs, or other time-sensitive information, this feature offers a robust solution to manage time series data seamlessly. We encourage developers to explore this new capability and provide feedback for further improvements. Learn more about Redis Time Series
Go-Redis now supports WAITAOF and CLIENT SETINFO
commands introduced in Redis 7.2.
We'd like to thank all the contributors who worked on this release!
@NikanV, @SoulPancake, @chayim, @dependabot, @dependabot[bot], @nvorobev, @ofekshenawa, @peczenyj, @taytzehao and @wzlove
Triggers and Functions allow you to execute server-side functions triggered when key values are modified or created in Redis, a stream entry arrival, or explicitly calling them. Simply put, you can replace Lua scripts with easy-to-develop JavaScript or TypeScript code. Move your business logic closer to the data to ensure a lower latency, and forget about updating dependent key values manually in your code. Try it for yourself with Quick start
Probabilistic data structures, like Bloom filters, offer unique advantages when dealing with large datasets, such as memory efficiency, faster operations, and scalability. Go-Redis now supports all probabilistic data structures.
We'd like to thank all the contributors who worked on this release!
@chayim, @dependabot, @dependabot[bot], @elena-kolevska, @kamyab98, @ofekshenawa, @testwill and @vmihailenco
We'd like to thank all the contributors who worked on this release!
@SoulPancake, @ash2k, @ljun20160606, @monkey92t and @vmihailenco
We'd like to thank all the contributors who worked on this release!
@SoulPancake, @ViBiOh, @iliyanm, @ktsivkov, @monkey92t, @mstmdev, @pranitbauva1997, @rfyiamcool and @vmihailenco