Redis
大约 1 分钟componentredis
概述
goredis
是基于 go-redis/v9封装的 redis 客户端,支持 redis 主从、哨兵、集群等多种模式。
Redis 配置
在configs
目录下 yaml 文件设置字段redis
,支持设置sentinel和cluster:
redis:
# dsn 格式, [user]:<pass>@127.0.0.1:6379/[db], 默认用户为 default,redis 6.0 及以上版本支持 user。
dsn: "default:123456@127.0.0.1:6379/0"
dialTimeout: 10 # 连接超时, 单位(秒)
readTimeout: 2 # 读超时, 单位(秒)
writeTimeout: 2 # 写超时, 单位(秒)
# sentinelAddrs: ["127.0.0.1:6379", "127.0.0.1:6380"]
# clusterAddrs: ["127.0.0.1:6379", "127.0.0.1:6380"]
Redis 初始化
Single
// 示例1: Redis 6.0或以上版本
redisCli, err := goredis.Init("default:123456@127.0.0.1:6379") // 可以设置参数,如超时,tls,跟踪,如goredis.Withxxx()
if err != nil {
panic("goredis.Init error: " + err.Error())
}
// 示例2: Redis 5.0或以下版本
redisCli, err := goredis.InitSingle("127.0.0.1:6379", "123456", 0) // 可以设置参数,如超时,tls,跟踪,如goredis.Withxxx()
Sentinel
addrs := []string{"127.0.0.1:6380", "127.0.0.1:6381", "127.0.0.1:6382","127.0.0.1:26380", "127.0.0.1:26381", "127.0.0.1:26382"}
rdbCli, err : := goredis.InitSentinel("mymaster", addrs, "", "123456") // 可以设置参数,如超时,tls,跟踪,如goredis.Withxxx()
Cluster
addrs := []string{"127.0.0.1:6380", "127.0.0.1:6381", "127.0.0.1:6382","127.0.0.1:6383", "127.0.0.1:6384", "127.0.0.1:6385"}
clusterRdb, err : := goredis.InitCluster(addrs, "", "123456") // 可以设置参数,如超时,tls,跟踪,如goredis.Withxxx()