Skip to content

Latest commit

History

1,404 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Redis client for Golang

Build StatusGoDocAirbrake

Supports:

API docs: https://godoc.org/github.com/go-redis/redis. Examples: https://godoc.org/github.com/go-redis/redis#pkg-examples.

Installation

go-redis requires a Go version with Modules support and uses import versioning. So please make sure to initialize a Go module before installing go-redis:

go get -u github.com/go-redis/redis/v7

Import:

import"github.com/go-redis/redis/v7"

Quickstart

funcExampleNewClient() {
client:=redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // no password setDB: 0, // use default DB
})
pong, err:=client.Ping().Result()
fmt.Println(pong, err)
// Output: PONG <nil>
}
funcExampleClient() {
err:=client.Set("key", "value", 0).Err()
iferr!=nil {
panic(err)
}
val, err:=client.Get("key").Result()
iferr!=nil {
panic(err)
}
fmt.Println("key", val)
val2, err:=client.Get("key2").Result()
iferr==redis.Nil {
fmt.Println("key2 does not exist")
} elseiferr!=nil {
panic(err)
} else {
fmt.Println("key2", val2)
}
// Output: key value// key2 does not exist
}

Howto

Please go through examples to get an idea how to use this package.

Look and feel

Some corner cases:

// SET key value EX 10 NXset, err:=client.SetNX("key", "value", 10*time.Second).Result()
// SORT list LIMIT 0 2 ASCvals, err:=client.Sort("list", redis.Sort{Offset: 0, Count: 2, Order: "ASC"}).Result()
// ZRANGEBYSCORE zset -inf +inf WITHSCORES LIMIT 0 2vals, err:=client.ZRangeByScoreWithScores("zset", redis.ZRangeBy{
Min: "-inf",
Max: "+inf",
Offset: 0,
Count: 2,
}).Result()
// ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3 AGGREGATE SUMvals, err:=client.ZInterStore("out", redis.ZStore{Weights: []int64{2, 3}}, "zset1", "zset2").Result()
// EVAL "return {KEYS[1],ARGV[1]}" 1 "key" "hello"vals, err:=client.Eval("return {KEYS[1],ARGV[1]}", []string{"key"}, "hello").Result()
// custom commandres, err:=client.Do("set", "key", "value").Result()

See also

About

Type-safe Redis client for Golang

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages