aboutsummaryrefslogtreecommitdiff
path: root/weed/filer/redis_lua/redis_store.go
diff options
context:
space:
mode:
authorbanjiaojuhao <banjiaojuhao@qq.com>2022-02-15 20:54:57 +0800
committerbanjiaojuhao <banjiaojuhao@qq.com>2022-02-15 20:54:57 +0800
commitb5ec3467003b2becca9a91f9cf56ab6b24ede25e (patch)
tree8f6ec607ec7311720c6e56bfefc2fa7fa955ee0b /weed/filer/redis_lua/redis_store.go
parent17ac5244c31d06f7065bd8ed9a416d00e048b23c (diff)
downloadseaweedfs-b5ec3467003b2becca9a91f9cf56ab6b24ede25e.tar.xz
seaweedfs-b5ec3467003b2becca9a91f9cf56ab6b24ede25e.zip
FilerStore: add redis_lua
Diffstat (limited to 'weed/filer/redis_lua/redis_store.go')
-rw-r--r--weed/filer/redis_lua/redis_store.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/weed/filer/redis_lua/redis_store.go b/weed/filer/redis_lua/redis_store.go
new file mode 100644
index 000000000..a7d11c73c
--- /dev/null
+++ b/weed/filer/redis_lua/redis_store.go
@@ -0,0 +1,38 @@
+package redis_lua
+
+import (
+ "github.com/chrislusf/seaweedfs/weed/filer"
+ "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/go-redis/redis/v8"
+)
+
+func init() {
+ filer.Stores = append(filer.Stores, &RedisLuaStore{})
+}
+
+type RedisLuaStore struct {
+ UniversalRedisLuaStore
+}
+
+func (store *RedisLuaStore) GetName() string {
+ return "redis_lua"
+}
+
+func (store *RedisLuaStore) Initialize(configuration util.Configuration, prefix string) (err error) {
+ return store.initialize(
+ configuration.GetString(prefix+"address"),
+ configuration.GetString(prefix+"password"),
+ configuration.GetInt(prefix+"database"),
+ configuration.GetStringSlice(prefix+"superLargeDirectories"),
+ )
+}
+
+func (store *RedisLuaStore) initialize(hostPort string, password string, database int, superLargeDirectories []string) (err error) {
+ store.Client = redis.NewClient(&redis.Options{
+ Addr: hostPort,
+ Password: password,
+ DB: database,
+ })
+ store.loadSuperLargeDirectories(superLargeDirectories)
+ return
+}