功能特性:
- 多种客户端
支持单机Redis Server、Redis Cluster、Redis Sentinel、Redis分片服务器
- 数据类型
go-redis会根据不同的redis命令处理成指定的数据类型,不必进行繁琐的数据类型转换
- 功能完善
go-redis支持管道(pipeline)、事务、pub/sub、Lua脚本、mock、分布式锁等功能
package main
import (
"context"
"github.com/redis/go-redis/v9"
)
func main() {
ctx := context.Background()
rdb := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // no password set
DB: 0, // use default DB
})
err := rdb.Set(ctx, "key", "value", 0).Err()
if err != nil {
panic(err)
}
val, err := rdb.Get(ctx, "key").Result()
if err != nil {
panic(err)
}
fmt.Println("key", val)
val2, err := rdb.Get(ctx, "key2").Result()
if err == redis.Nil {
fmt.Println("key2 does not exist")
} else if err != nil {
panic(err)
} else {
fmt.Println("key2", val2)
}
// Output: key value
// key2 does not exist
}