Redis filter

In this example, we show how a Redis filter can be used with the Envoy proxy.

The Envoy proxy configuration includes a Redis filter that routes egress requests to redis server.

Step 1: Build the sandbox

Change to the examples/redis directory.

Build and start the containers.

Terminal 1

$ pwd
envoy/examples/redis
$ docker-compose pull
$ docker-compose up --build -d
$ docker-compose ps

    Name                   Command               State                             Ports
------------------------------------------------------------------------------------------------------------------
redis_proxy_1   /docker-entrypoint.sh /bin       Up      10000/tcp, 0.0.0.0:1999->1999/tcp, 0.0.0.0:8001->8001/tcp
redis_redis_1   docker-entrypoint.sh redis       Up      6379/tcp
Copy to clipboard

Step 2: Issue Redis commands

Issue Redis commands using your favourite Redis client, such as redis-cli, and verify they are routed via Envoy.

Terminal 1

$ redis-cli -h localhost -p 1999 set foo foo
OK
$ redis-cli -h localhost -p 1999 set bar bar
OK
$ redis-cli -h localhost -p 1999 get foo
"foo"
$ redis-cli -h localhost -p 1999 get bar
"bar"
Copy to clipboard

Step 3: Verify egress stats

Go to http://localhost:8001/stats?usedonly&filter=redis.egress_redis.command and verify the following stats:

redis.egress_redis.command.get.total: 2
redis.egress_redis.command.set.total: 2
Copy to clipboard

See also

Envoy Redis filter

Learn more about using the Envoy Redis filter.

Envoy admin quick start guide

Quick start guide to the Envoy admin interface.

Redis

The Redis in-memory data structure store.