@@ -100,6 +100,13 @@ func buildSentinelClient(opts options.RedisStoreOptions) (Client, error) {
100 return nil, fmt.Errorf("could not parse redis urls: %v", err)
100 return nil, fmt.Errorf("could not parse redis urls: %v", err)
103+ if opts.Password != "" {
104+ opt.Password = opts.Password
106+ if opts.Username != "" {
107+ opt.Username = opts.Username
103 if err := setupTLSConfig(opts, opt); err != nil {
110 if err := setupTLSConfig(opts, opt); err != nil {
104 return nil, err
111 return nil, err
@@ -108,6 +115,7 @@ func buildSentinelClient(opts options.RedisStoreOptions) (Client, error) {
108 MasterName: opts.SentinelMasterName,
115 MasterName: opts.SentinelMasterName,
109 SentinelAddrs: addrs,
116 SentinelAddrs: addrs,
110 SentinelPassword: opts.SentinelPassword,
117 SentinelPassword: opts.SentinelPassword,
118+ Username: opts.Username,
111 Password: opts.Password,
119 Password: opts.Password,
112 TLSConfig: opt.TLSConfig,
120 TLSConfig: opt.TLSConfig,
113 ConnMaxIdleTime: time.Duration(opts.IdleTimeout) * time.Second,
121 ConnMaxIdleTime: time.Duration(opts.IdleTimeout) * time.Second,
@@ -122,12 +130,20 @@ func buildClusterClient(opts options.RedisStoreOptions) (Client, error) {
122 return nil, fmt.Errorf("could not parse redis urls: %v", err)
130 return nil, fmt.Errorf("could not parse redis urls: %v", err)
133+ if opts.Password != "" {
134+ opt.Password = opts.Password
136+ if opts.Username != "" {
137+ opt.Username = opts.Username
125 if err := setupTLSConfig(opts, opt); err != nil {
140 if err := setupTLSConfig(opts, opt); err != nil {
126 return nil, err
141 return nil, err
129 client := redis.NewClusterClient(&redis.ClusterOptions{
144 client := redis.NewClusterClient(&redis.ClusterOptions{
130 Addrs: addrs,
145 Addrs: addrs,
146+ Username: opts.Username,
131 Password: opts.Password,
147 Password: opts.Password,
132 TLSConfig: opt.TLSConfig,
148 TLSConfig: opt.TLSConfig,
133 ConnMaxIdleTime: time.Duration(opts.IdleTimeout) * time.Second,
149 ConnMaxIdleTime: time.Duration(opts.IdleTimeout) * time.Second,
@@ -146,6 +162,9 @@ func buildStandaloneClient(opts options.RedisStoreOptions) (Client, error) {
146 if opts.Password != "" {
162 if opts.Password != "" {
147 opt.Password = opts.Password
163 opt.Password = opts.Password
165+ if opts.Username != "" {
166+ opt.Username = opts.Username
150 if err := setupTLSConfig(opts, opt); err != nil {
169 if err := setupTLSConfig(opts, opt); err != nil {
151 return nil, err
170 return nil, err