Go client for RedisTimeSeries (https://github.com/RedisTimeSeries/redistimeseries), based on redigo.
Client and ConnPool based on the work of dvirsky and mnunberg on https://github.com/RediSearch/redisearch-go
$ go get github.com/0x090909/redis-timeseries
A simple test suite is provided, and can be run with:
$ go test
The tests expect a Redis server with the RedisTimeSeries module loaded to be available at localhost:6379
package main
import (
"fmt"
redistimeseries "github.com/0x090909/redis-timeseries"
)
func main() {
// Connect to localhost with no password
var dbNumber = 0
var authPWD = nil
var client = redistimeseries.NewClient("localhost:6379", "nohelp", authPWD, dbNumber)
var keyname = "mytest"
_, haveit := client.Info(keyname)
if haveit != nil {
client.CreateKeyWithOptions(keyname, redistimeseries.DefaultCreateOptions)
client.CreateKeyWithOptions(keyname+"_avg", redistimeseries.DefaultCreateOptions)
client.CreateRule(keyname, redistimeseries.AvgAggregation, 60, keyname+"_avg")
}
// Add sample with timestamp from server time and value 100
// TS.ADD mytest * 100
_, err := client.AddAutoTs(keyname, 100)
if err != nil {
fmt.Println("Error:", err)
}
}
redistimeseries-go is distributed under the Apache-2 license - see LICENSE