robotfs/store/redis_lua/redis_store.go
2025-05-20 15:49:23 +08:00

41 lines
1003 B
Go

package redis_lua
import (
"robotfs/utils"
"github.com/redis/go-redis/v9"
)
type RedisLuaStore struct {
UniversalRedisLuaStore
}
func NewRedisLuaStore() *RedisLuaStore {
return &RedisLuaStore{}
}
func (store *RedisLuaStore) GetName() string {
return "redis_lua"
}
func (store *RedisLuaStore) Initialize(configuration utils.Configuration, prefix string) (err error) {
return store.initialize(
configuration.GetString(prefix+"address"),
configuration.GetString(prefix+"username"),
configuration.GetString(prefix+"password"),
configuration.GetInt(prefix+"database"),
configuration.GetStringSlice(prefix+"superLargeDirectories"),
)
}
func (store *RedisLuaStore) initialize(hostPort string, username, password string, database int, superLargeDirectories []string) (err error) {
store.Client = redis.NewClient(&redis.Options{
Addr: hostPort,
Username: username,
Password: password,
DB: database,
})
store.loadSuperLargeDirectories(superLargeDirectories)
return
}