Skip to main content

Redis/nutcracker client for Turnstile

Project description

The NutJob client is an alternate Redis client based on redis.StrictRedis. It is meant for use with Turnstile, in conjunction with the Redis proxy nutcracker, aka twemproxy. Certain functionality which is unsupported by nutcracker is overridden in NutJob, either to disable it (such as Turnstile’s PUBLISH to report errors) or to replace it with equivalent functionality (such as the register_script() call used by the Turnstile compactor daemon).

NutJob is really only intended for use with Turnstile; it is not meant as a general-purpose Redis/nutcracker client.

How to Use

To use NutJob, add the following configuration settings to the appropriate sections of your Turnstile configuration:

redis_client = nutjob
server_version = <see text>
host = <nutcracker IP>

redis_client = redis
server_version =
host = <Redis server IP>

Note the overrides in the [control] section, particularly the explicitly empty value of server_version: the Turnstile control daemon MUST be configured to use the standard Redis client and to connect to an actual Redis server; the control daemon relies on functionality that nutcracker does not support.

As for the server_version value in the [redis] section: this value is optional, but if set, it should be the minimum server version of the Redis servers connected behind the nutcracker proxy. This information is used by the Turnstile compactor daemon to enable an optimization; normally, the compactor daemon determines whether to use this optimization based on the server version reported by the Redis server itself, but nutcracker does not support this version retrieval, and so NutJob provides this server_version side channel to allow its use.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for nutjob, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size nutjob-0.1.0.tar.gz (8.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page