Redis filter

Requirements

Sandbox environment

Setup your sandbox environment with Docker and Docker Compose, and clone the Envoy repository with Git.

redis

Redis client to query the server.

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

  1. $ pwd
  2. envoy/examples/redis
  3. $ docker-compose pull
  4. $ docker-compose up --build -d
  5. $ docker-compose ps
  6. Name Command State Ports
  7. ------------------------------------------------------------------------------------------------------------------
  8. redis_proxy_1 /docker-entrypoint.sh /bin Up 10000/tcp, 0.0.0.0:1999->1999/tcp, 0.0.0.0:8001->8001/tcp
  9. redis_redis_1 docker-entrypoint.sh redis Up 6379/tcp

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

  1. $ redis-cli -h localhost -p 1999 set foo foo
  2. OK
  3. $ redis-cli -h localhost -p 1999 set bar bar
  4. OK
  5. $ redis-cli -h localhost -p 1999 get foo
  6. "foo"
  7. $ redis-cli -h localhost -p 1999 get bar
  8. "bar"

Step 3: Verify egress stats

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

  1. redis.egress_redis.command.get.total: 2
  2. redis.egress_redis.command.set.total: 2

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.