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]
redis_client = nutjob
server_version = <see text>
host = <nutcracker IP>

[control]
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.

Source Distribution

nutjob-0.1.0.tar.gz (8.4 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page