Go Redis

用于 Redis Server 和 Redis Cluster 的 Golang Redis 客户端

简介 入门

所有版本

开箱即用,支持 Redis Server、Redis Cluster、Redis Sentinel,甚至 Redis 服务器环。

类型安全

go-redis 为大多数 Redis 命令提供类型,因此您可以使用结构良好的回复进行操作。

功能丰富

我们支持管道、事务、发布/订阅、Lua 脚本、模拟、分布式锁等等。

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
}