diff --git a/client/src/main/kotlin/org/dreamexposure/discal/client/config/DiscordConfig.kt b/client/src/main/kotlin/org/dreamexposure/discal/client/config/DiscordConfig.kt index 0e8917a7..c99378a2 100644 --- a/client/src/main/kotlin/org/dreamexposure/discal/client/config/DiscordConfig.kt +++ b/client/src/main/kotlin/org/dreamexposure/discal/client/config/DiscordConfig.kt @@ -70,15 +70,19 @@ class DiscordConfig { fun discordStores(): StoreService { val useRedis = Config.CACHE_USE_REDIS_D4J.getBoolean() val redisHost = Config.REDIS_HOST.getString() - val redisPassword = Config.REDIS_PASSWORD.getString().toCharArray() val redisPort = Config.REDIS_PORT.getInt() + val redisDatabase = Config.REDIS_DATABASE.getInt() + val redisUsername = Config.REDIS_USERNAME.getString() + val redisPassword = Config.REDIS_PASSWORD.getString().toCharArray() val redisCluster = Config.CACHE_REDIS_IS_CLUSTER.getBoolean() val prefix = Config.CACHE_PREFIX.getString() return if (useRedis) { val uriBuilder = RedisURI.Builder .redis(redisHost, redisPort) - if (redisPassword.isNotEmpty()) uriBuilder.withPassword(redisPassword) + if (redisDatabase > -1) uriBuilder.withDatabase(redisDatabase) + if (redisUsername.isNotEmpty() && redisPassword.isNotEmpty()) uriBuilder.withAuthentication(redisUsername, redisPassword) + else if (redisPassword.isNotEmpty()) uriBuilder.withPassword(redisPassword) val rss = if (redisCluster) { RedisClusterStoreService.Builder() diff --git a/core/src/main/kotlin/org/dreamexposure/discal/core/config/Config.kt b/core/src/main/kotlin/org/dreamexposure/discal/core/config/Config.kt index 7d85aedd..28ea79d0 100644 --- a/core/src/main/kotlin/org/dreamexposure/discal/core/config/Config.kt +++ b/core/src/main/kotlin/org/dreamexposure/discal/core/config/Config.kt @@ -15,6 +15,8 @@ enum class Config(private val key: String, private var value: Any? = null) { // Redis cache settings REDIS_HOST("spring.data.redis.host"), REDIS_PORT("spring.data.redis.port"), + REDIS_DATABASE("spring.data.redis.database", -1), + REDIS_USERNAME("spring.data.redis.username", ""), REDIS_PASSWORD("spring.data.redis.password", ""), CACHE_REDIS_IS_CLUSTER("redis.cluster", false), CACHE_USE_REDIS("bot.cache.redis", false),