Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

An example vmod for Varnish

branch: master
README.md

vmod-redis

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 127.0.0.1:6379 with a connect timeout of 200ms.

redis.send(command)

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

redis.call(command)

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

Dependencies

Building

  • ./autogen.sh
  • make
  • sudo make install

Configuration

See the examples folder.

Something went wrong with that request. Please try again.