// 定义redis链接池
var client *redis.Client
// 初始化redis链接池
func init() {
db, err := beego.AppConfig.Int("redisDB")
if err != nil {
logs.Error("redis-db", err)
}
client = redis.NewClient(&redis.Options{
Addr: beego.AppConfig.String("redisAddr"), // Redis地址
Password: beego.AppConfig.String("redisPassword"), // Redis账号
DB: db, // Redis库
PoolSize: 40, // Redis连接池大小
MaxRetries: 3, // 最大重试次数
IdleTimeout: 5 * time.Second, // 空闲链接超时时间
MinIdleConns: 5, // 空闲连接数量
})
pong, err := client.Ping().Result()
if err == redis.Nil {
logs.Info("Redis异常")
} else if err != nil {
logs.Info("失败:", err)
} else {
logs.Info(pong)
}
}
type Redis struct{}
func (r Redis) Get(key string) (string, error) {
result, err := client.Get(key).Result()
if err != nil {
return "", err
}
return result, nil
}
Options相关说明