Note
This add-on has absorbed functionality from ddev/ddev-redis-7
, see Advanced Customization.
</div>
Redis is an in-memory key–value database, used as a distributed cache and message broker, with optional durability.
This add-on integrates Redis into your DDEV project with Redis persistence enabled by default.
ddev add-on get ddev/ddev-redis
ddev restart
After installation, make sure to commit the .ddev
directory to version control.
Command | Description |
---|---|
ddev redis-backend |
Use a different key-value store for Redis |
ddev redis-cli |
Run redis-cli inside the Redis container |
ddev redis |
Alias for ddev redis-cli |
ddev redis-flush |
Flush all cache inside the Redis container |
ddev describe |
View service status and used ports for Redis |
ddev logs -s redis |
Check Redis logs |
Redis is available inside Docker containers with redis:6379
.
The default config only uses the redis.conf file.
The optimized config uses all *.conf
files in the redis directory except redis.conf
.
It uses hardened settings ready for production, like enabling Redis credentials.
You can read each config file to see the exact differences.
By default, there is no authentication.
If you have the optimized config enabled, the credentials are:
Field | Value |
---|---|
Username | redis |
Password | redis |
For more information about ACLs, see the Redis documentation.
Use the ddev redis-backend
command to swap between Redis backends:
Command | Docker Image |
---|---|
ddev redis-backend redis |
redis:7 |
ddev redis-backend redis-alpine |
redis:7-alpine |
ddev redis-backend valkey |
valkey/valkey:8 |
ddev redis-backend valkey-alpine |
valkey/valkey:8-alpine |
ddev redis-backend <image> |
<image> (specify your custom Redis image) |
Tip
Add optimize
or optimized
after the command to enable optimized Redis configuration.
Example: ddev redis-backend redis optimize
To apply an optimized configuration from ddev/ddev-redis-7
:
ddev dotenv set .ddev/.env.redis --redis-optimized=true
ddev add-on get ddev/ddev-redis
# (optional) if you have an existing Redis volume, delete it to avoid problems with Redis:
ddev stop
docker volume rm ddev-$(ddev status -j | docker run -i --rm ddev/ddev-utilities jq -r '.raw.name')_redis
ddev restart
Make sure to commit the .ddev/.env.redis
file to version control.
To change the used Docker image:
ddev dotenv set .ddev/.env.redis --redis-docker-image=redis:7
ddev add-on get ddev/ddev-redis
# (optional) if you have an existing Redis volume, delete it to avoid problems with Redis:
ddev stop
docker volume rm ddev-$(ddev status -j | docker run -i --rm ddev/ddev-utilities jq -r '.raw.name')_redis
ddev restart
Make sure to commit the .ddev/.env.redis
file to version control.
All customization options (use with caution):
Variable | Flag | Default |
---|---|---|
REDIS_DOCKER_IMAGE |
--redis-docker-image |
redis:7 |
REDIS_OPTIMIZED |
--redis-optimized |
false (true /false ) |
Contributed by @hussainweb based on the original ddev-contrib recipe by @gormus
Optimized config from ddev/ddev-redis-7
contributed by @seebeen
Maintained by the DDEV team