An example vmod for Varnish
C Shell
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 24 commits ahead, 125 commits behind varnish:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A Varnish module that allows sending commands to redis from the VCL.

At this stage it is mostly a proof-of-concept; it has only received minimal testing and we have never used it in production. At the very minimum, it will slow down Varnish a fair amount (at least a few milliseconds per request, depending on how fast your network and your redis server are).

So far the module builds and runs on FreeBSD--on other platforms, you are on your own (pull requests welcome).

Functions and procedures

redis.init_redis(host, port, timeout_ms)

Use the redis server at the given host and port with a timeout of timeout__ms milliseconds. If port is less than or equal to zero, the default port of 6379 is used. If timeout__ms is less than or equal to zero, a default timeout of 200ms is used.

This function is supposed to be called from the Varnish subroutine vcl__init. If the call is left out, the module will attempt to connect to the Redis server at with a connect timeout of 200ms.


Sends the given command to redis; the response will be ignored.

Sends the given command to redis; any response will be returned as a string.



  • ./
  • make
  • sudo make install


See the examples folder.