forked from mirror/redis
Add Sentinel .Ping(), .Set(), .Monitor() and .Delete()
This commit is contained in:
parent
0ffcfc31f5
commit
fc8c05a674
37
sentinel.go
37
sentinel.go
|
@ -130,6 +130,14 @@ func (c *SentinelClient) pubSub() *PubSub {
|
|||
return pubsub
|
||||
}
|
||||
|
||||
// Ping is used to test if a connection is still alive, or to
|
||||
// measure latency.
|
||||
func (c *SentinelClient) Ping() *StringCmd {
|
||||
cmd := NewStringCmd("ping")
|
||||
c.Process(cmd)
|
||||
return cmd
|
||||
}
|
||||
|
||||
// Subscribe subscribes the client to the specified channels.
|
||||
// Channels can be omitted to create empty subscription.
|
||||
func (c *SentinelClient) Subscribe(channels ...string) *PubSub {
|
||||
|
@ -219,6 +227,35 @@ func (c *SentinelClient) CkQuorum(name string) *StringCmd {
|
|||
return cmd
|
||||
}
|
||||
|
||||
// Monitor tells the Sentinel to start monitoring a new master with the specified
|
||||
// name, ip, port, and quorum. It is identical to the sentinel monitor configuration
|
||||
// directive in sentinel.conf configuration file, with the difference that you can't
|
||||
// use an hostname in as ip, but you need to provide an IPv4 or IPv6 address.
|
||||
func (c *SentinelClient) Monitor(name, ip, port, quorum string) *StringCmd {
|
||||
cmd := NewStringCmd("sentinel", "monitor", name, ip, port, quorum)
|
||||
c.Process(cmd)
|
||||
return cmd
|
||||
}
|
||||
|
||||
// Set is used in order to change configuration parameters of a specific master.
|
||||
// Multiple option / value pairs can be specified (or none at all). All the
|
||||
// configuration parameters that can be configured via sentinel.conf are also
|
||||
// configurable using the SET command.
|
||||
func (c *SentinelClient) Set(name, option, value string) *StringCmd {
|
||||
cmd := NewStringCmd("sentinel", "set", name, option, value)
|
||||
c.Process(cmd)
|
||||
return cmd
|
||||
}
|
||||
|
||||
// Remove is used in order to remove the specified master: the master will no
|
||||
// longer be monitored, and will totally be removed from the internal state of
|
||||
// the Sentinel, so it will no longer listed by SENTINEL masters and so forth.
|
||||
func (c *SentinelClient) Remove(name string) *StringCmd {
|
||||
cmd := NewStringCmd("sentinel", "remove", name)
|
||||
c.Process(cmd)
|
||||
return cmd
|
||||
}
|
||||
|
||||
type sentinelFailover struct {
|
||||
sentinelAddrs []string
|
||||
|
||||
|
|
Loading…
Reference in New Issue