aboutsummaryrefslogtreecommitdiff
path: root/weed/filer/redis2/redis_sentinel_store.go
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2025-12-01 13:31:35 -0800
committerGitHub <noreply@github.com>2025-12-01 13:31:35 -0800
commit61c0514a1c0119875dc7e7ebb8c45b2914c732bf (patch)
tree0931c571cf3022aa1e241061a22595ce2efce173 /weed/filer/redis2/redis_sentinel_store.go
parent5602f98c479f2f04e3b75deff4372f357168cc0a (diff)
downloadseaweedfs-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/redis2/redis_sentinel_store.go')
-rw-r--r--weed/filer/redis2/redis_sentinel_store.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/weed/filer/redis2/redis_sentinel_store.go b/weed/filer/redis2/redis_sentinel_store.go
index 5fc368fc7..dc15285bd 100644
--- a/weed/filer/redis2/redis_sentinel_store.go
+++ b/weed/filer/redis2/redis_sentinel_store.go
@@ -26,10 +26,11 @@ func (store *Redis2SentinelStore) Initialize(configuration util.Configuration, p
configuration.GetString(prefix+"username"),
configuration.GetString(prefix+"password"),
configuration.GetInt(prefix+"database"),
+ configuration.GetString(prefix+"keyPrefix"),
)
}
-func (store *Redis2SentinelStore) initialize(addresses []string, masterName string, username string, password string, database int) (err error) {
+func (store *Redis2SentinelStore) 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 *Redis2SentinelStore) initialize(addresses []string, masterName stri
ReadTimeout: time.Second * 30,
WriteTimeout: time.Second * 5,
})
+ store.keyPrefix = keyPrefix
return
}