代码
package main
import (
"github.com/go-redis/redis/v8"
"time"
"context"
"log"
"fmt"
)
func main() {
// 连接参数
rdbOpt := &redis.Options{
Addr: "127.0.0.1:6379", // 地址
Password: "", // 密码
DB: 4, // 选择使用的数据库
PoolSize: 4, // 线程池最大连接数
MinIdleConns: 2, // 最小空闲连接数
MaxConnAge: 30 * time.Minute, // 最大存活时间
DialTimeout: 5 * time.Second, // 超时时间
ReadTimeout: 3 * time.Second, // 读取超时时间
WriteTimeout: 3 * time.Second, // 写入超时时间
}
// 创建连接池客户端
rdb := redis.NewClient(rdbOpt)
// 上下文
ctx := context.Background()
// ping 一个
pong, err := rdb.Ping(ctx).Result()
if err != nil {
log.Fatalf("redis connect failed: %s", err)
}
fmt.Println("redis connect success:", pong)
// 设置个键
err = rdb.HSet(ctx, "test", "a", "aa", "b", "bb").Err()
if err != nil {
log.Fatalf("failed: %s", err)
}
// 获取键值
rslt, err := rdb.HGetAll(ctx, "test").Result()
if err != nil {
log.Fatalf("failed: %s", err)
}
fmt.Printf("get test: %#v\n", rslt)
// 删除键
err = rdb.Del(ctx, "test").Err()
if err != nil {
log.Fatalf("failed: %s", err)
}
return
}
测试

发表回复