diff options
| author | Chris Lu <chrislusf@users.noreply.github.com> | 2025-12-01 13:31:35 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-01 13:31:35 -0800 |
| commit | 61c0514a1c0119875dc7e7ebb8c45b2914c732bf (patch) | |
| tree | 0931c571cf3022aa1e241061a22595ce2efce173 /weed/filer/redis_lua/redis_sentinel_store.go | |
| parent | 5602f98c479f2f04e3b75deff4372f357168cc0a (diff) | |
| download | seaweedfs-61c0514a1c0119875dc7e7ebb8c45b2914c732bf.tar.xz seaweedfs-61c0514a1c0119875dc7e7ebb8c45b2914c732bf.zip | |
filer: add username and keyPrefix support for Redis stores (#7591)
* filer: add username and keyPrefix support for Redis stores
Addresses https://github.com/seaweedfs/seaweedfs/issues/7299
- Add username config option to redis2, redis_cluster2, redis_lua, and
redis_lua_cluster stores (sentinel stores already had it)
- Add keyPrefix config option to all Redis stores to prefix all keys,
useful for Envoy Redis Proxy or multi-tenant Redis setups
* refactor: reduce duplication in redis.NewClient creation
Address code review feedback by defining redis.Options once and
conditionally setting TLSConfig instead of duplicating the entire
NewClient call.
* filer.toml: add username and keyPrefix to redis2.tmp example
Diffstat (limited to 'weed/filer/redis_lua/redis_sentinel_store.go')
| -rw-r--r-- | weed/filer/redis_lua/redis_sentinel_store.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/weed/filer/redis_lua/redis_sentinel_store.go b/weed/filer/redis_lua/redis_sentinel_store.go index f22a7fa66..12a582ac3 100644 --- a/weed/filer/redis_lua/redis_sentinel_store.go +++ b/weed/filer/redis_lua/redis_sentinel_store.go @@ -26,10 +26,11 @@ func (store *RedisLuaSentinelStore) Initialize(configuration util.Configuration, configuration.GetString(prefix+"username"), configuration.GetString(prefix+"password"), configuration.GetInt(prefix+"database"), + configuration.GetString(prefix+"keyPrefix"), ) } -func (store *RedisLuaSentinelStore) initialize(addresses []string, masterName string, username string, password string, database int) (err error) { +func (store *RedisLuaSentinelStore) initialize(addresses []string, masterName string, username string, password string, database int, keyPrefix string) (err error) { store.Client = redis.NewFailoverClient(&redis.FailoverOptions{ MasterName: masterName, SentinelAddrs: addresses, @@ -41,5 +42,6 @@ func (store *RedisLuaSentinelStore) initialize(addresses []string, masterName st ReadTimeout: time.Second * 30, WriteTimeout: time.Second * 5, }) + store.keyPrefix = keyPrefix return } |
