Реализовано кеширование проверенных плейлистов, при включенном кеше -r теперь не учитывает только некешированные из ini-файла

This commit is contained in:
2025-05-08 11:14:59 +08:00
parent 994df87846
commit c1a7f7e289
10 changed files with 106 additions and 47 deletions

View File

@@ -7,6 +7,7 @@
package config
import (
"github.com/joho/godotenv"
"os"
"strconv"
)
@@ -14,17 +15,20 @@ import (
// Config описывает конфигурацию
type Config struct {
DebugMode bool
Redis RedisConfig
Cache CacheConfig
Http HttpConfig
}
// RedisConfig описывает конфигурацию подключения к Redis
type RedisConfig struct {
Host string
Port uint
Username string
Password string
Db uint
// CacheConfig описывает конфигурацию подключения к keydb
type CacheConfig struct {
IsEnabled bool
Host string
Port uint
Username string
Password string
Db uint
Ttl uint
IsActive bool
}
// HttpConfig описывает конфигурацию веб-сервера
@@ -35,14 +39,17 @@ type HttpConfig struct {
// Init инициализирует объект конфигурации из переменных окружения
func Init() *Config {
_ = godotenv.Load(".env")
return &Config{
DebugMode: readEnvBoolean("APP_DEBUG", false),
Redis: RedisConfig{
Host: readEnv("REDIS_HOST", ""),
Port: readEnvInteger("REDIS_PORT", 6379),
Username: readEnv("REDIS_USERNAME", ""),
Password: readEnv("REDIS_PASSWORD", ""),
Db: readEnvInteger("REDIS_DB", 0),
//DebugMode: readEnvBoolean("APP_DEBUG", false),
Cache: CacheConfig{
IsEnabled: readEnvBoolean("CACHE_ENABLED", false),
Host: readEnv("CACHE_HOST", "localhost"),
Port: readEnvInteger("CACHE_PORT", 6379),
Username: readEnv("CACHE_USERNAME", ""),
Password: readEnv("CACHE_PASSWORD", ""),
Db: readEnvInteger("CACHE_DB", 0),
Ttl: readEnvInteger("CACHE_TTL", 1800),
},
Http: HttpConfig{
Host: readEnv("HTTP_HOST", "0.0.0.0"),
@@ -57,7 +64,6 @@ func readEnv(key string, defaultValue string) string {
if exists {
return value
}
return defaultValue
}