Skip to content

Redis

dev.rightsize.modules.RedisContainer — a single-node Redis container.

Defaults

Default image redis:8.6-alpine
Exposed port 6379
Wait strategy Wait.forListeningPort()

Helpers

Member Returns
uri: String A redis://host:port connection URI for the running container

Example

package dev.rightsize.modules

import dev.rightsize.modules.RedisContainer
import io.lettuce.core.RedisClient
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class RedisContainerTest {
    @Test
    fun `set then get`() {
        val redis = RedisContainer()
        redis.start()
        try {
            RedisClient.create(redis.uri).connect().use { conn ->
                conn.sync().set("k", "v")
                assertEquals("v", conn.sync().get("k"))
            }
        } finally {
            redis.stop()
        }
    }
}

Backend notes

None — Redis boots and serves cleanly on both backends with no special handling. Redis Cluster's cluster-announce-ip setup pattern (common in Testcontainers suites) stays entirely user-land via execInContainer("redis-cli", "config", "set", ...) — no module-level support needed for it.