Redis filter
Requirements
Setup your sandbox environment with Docker and Docker Compose, and clone the Envoy repository with Git.
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
$ 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
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"
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
See also
Learn more about using the Envoy Redis filter.
Quick start guide to the Envoy admin interface.
The Redis in-memory data structure store.