Redis (opens new window) is an open source, in-memory and typed data structure store, used as a database, cache and message broker.
# Supported versions
- 6 (opens new window)
- 6.0 (opens new window)
- 5 (opens new window) (default)
- 5.0 (opens new window)
- 4 (opens new window)
- 4.0 (opens new window)
- 2.8 (opens new window)
# Patch versions
Not officially supported!
While we allow users to specify patch versions for this service, they are not officially supported, so if you use one, YMMV.
To use a patch version, you can do something as shown below:
services: myservice: type: redis:4.0.12
But make sure you use one of the available patch tags (opens new window) for the underlying image we are using.
Here are the configuration options, set to the default values, for this service. If you are unsure about where this goes or what this means, we highly recommend scanning the services documentation to get a good handle on how the magicks work.
services: myservice: type: redis:5 persist: false portforward: false config: server: SEE BELOW
# Persisting data
This option is pretty straightforward. Use
persist: true to persist the cache's data between restarts and rebuilds.
# Port forwarding
portforward will allow you to access this service externally by assigning a port directly on your host's
localhost. Note that
portforward can be set to either
true or a specific
port but we highly recommend you set it to
true unless you have pretty good knowledge of how port assignment works or you have a very compelling reason for needing a locked down port.
portforward: true will prevent inevitable port collisions and provide greater reliability and stability across Lando apps. That said, one downside of
portforward: true is that Docker will assign a different port every time you restart your application. You can read more about accessing services externally over here.
services: myservice: type: redis portforward: true
services: myservice: type: redis portforward: 6379
# Using a custom redis.conf
If you do this, you must use a file that exists inside your application and express it relative to your project root as shown below:
A hypothetical project
Note that you can put your configuration files anywhere inside your application directory. We use a
config directory in the below example but you can call it whatever you want such as
./ |-- config |-- redis.conf |-- .lando.yml
Landofile's redis config
services: myservice: type: redis config: server: config/redis.conf