Redis

Redis is an open source, in-memory and typed data structure store, used as a database, cache and message broker.

You can easily add it to your Lando app by adding an entry to the services top-level config in your Landofile.

Supported versions

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 like this:

services:
  my-service:
    type: redis:4.0.12

But make sure you use one of the available patch tags for the underlying image we are using.

Configuration

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.

Also note that the below options are in addition to the build steps and overrides that are available to every service.

services:
  my-service:
    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.

Portforwarding

portforward will allow you to access this service externally by given you 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.

tl;dr

Recommended

services:
  my-service:
    type: redis
    portforward: true

Not recommended

services:
  my-service:
    type: redis
    portforward: 6379

Using a custom redis.conf

You may need to override our default redis server config with your own custom redis config file.

If you do this you must use a file that exists inside your applicaton and express it relative to your project root as 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 .lando.

./
|-- config
   |-- redis.conf
|-- .lando.yml

Landofile's redis config

services:
  my-service:
    type: redis
    config:
      server: config/redis.conf

Getting information

You can get connection and credential information about your redis instance by running lando info. It may also be worth checking out our accessing services externally guide.