diff --git a/cluster.go b/cluster.go index a5a16db..7d7b026 100644 --- a/cluster.go +++ b/cluster.go @@ -372,6 +372,11 @@ func NewClusterClient(opt *ClusterOptions) *ClusterClient { return c } +// Options returns read-only Options that were used to create the client. +func (c *ClusterClient) Options() *ClusterOptions { + return c.opt +} + func (c *ClusterClient) state() *clusterState { v := c._state.Load() if v != nil { diff --git a/redis.go b/redis.go index 1ddd754..74d677b 100644 --- a/redis.go +++ b/redis.go @@ -21,6 +21,11 @@ func (c *baseClient) String() string { return fmt.Sprintf("Redis<%s db:%d>", c.getAddr(), c.opt.DB) } +// Options returns read-only Options that were used to create the client. +func (c *baseClient) Options() *Options { + return c.opt +} + func (c *baseClient) conn() (*pool.Conn, bool, error) { cn, isNew, err := c.connPool.Get() if err != nil { diff --git a/ring.go b/ring.go index 6e5f62a..9b03f97 100644 --- a/ring.go +++ b/ring.go @@ -158,6 +158,11 @@ func NewRing(opt *RingOptions) *Ring { return ring } +// Options returns read-only Options that were used to create the client. +func (c *Ring) Options() *RingOptions { + return c.opt +} + // PoolStats returns accumulated connection pool stats. func (c *Ring) PoolStats() *PoolStats { var acc PoolStats