redis client自适应读写命令选择主库 OR 读库
This commit is contained in:
@ -7,6 +7,8 @@
|
||||
// Date : 2024-06-18 16:12
|
||||
package define
|
||||
|
||||
import redisClient "github.com/redis/go-redis/v9"
|
||||
|
||||
type Options struct {
|
||||
DB int `json:"db" yaml:"db" ini:"db" toml:"db"` // 选择的数据库序号
|
||||
Network string `json:"network" yaml:"network" ini:"network" toml:"network"` // 网络连接方式
|
||||
@ -41,3 +43,36 @@ type Options struct {
|
||||
|
||||
IdentitySuffix string `json:"identity_suffix" yaml:"identity_suffix" ini:"identity_suffix" toml:"identity_suffix"` // Add suffix to client name. Default is empty.
|
||||
}
|
||||
|
||||
// Config 数据库连接配置
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 15:59 2024/10/8
|
||||
type Config struct {
|
||||
ReadOnly bool `json:"readonly" yaml:"readonly" ini:"readonly" toml:"readonly"`
|
||||
Master *Options `json:"master" yaml:"master" ini:"master" toml:"master"` // 主库配置
|
||||
Slave *Options `json:"slave" yaml:"slave" ini:"slave" toml:"slave"` // 主库配置
|
||||
}
|
||||
|
||||
// ClientInfo 客户端连接信息
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
//
|
||||
// Date : 16:06 2024/10/8
|
||||
type ClientInfo struct {
|
||||
ReadOnly bool // 是否只读
|
||||
Master *redisClient.Client // 主库连接
|
||||
Slave *redisClient.Client // 从库连接
|
||||
}
|
||||
|
||||
func (cf *ClientInfo) MasterClient() *redisClient.Client {
|
||||
return cf.Master
|
||||
}
|
||||
|
||||
func (cf *ClientInfo) SlaveClient() *redisClient.Client {
|
||||
if nil != cf.Slave {
|
||||
return cf.Slave
|
||||
}
|
||||
return cf.Master
|
||||
}
|
||||
|
Reference in New Issue
Block a user