Skip to main content

Light-weight tools to implement high-level features in Redis

Project description

# redis-gadgets

This is a collection of helper tools built on top of redis.

# Note On Testing

Most of the code here is a thin wrapper over a few redis calls. Testing it without connecting to redis is pretty useless, as such. To that end, the tests make (default) redis connections to pass into the barious tools. These tests are destructive. If you’re running the tests, either override the redis connection or run it on a machine where you don’t mind clobbering a redis db.

Pull requests with a better way to do this are welcome.

# Unique tracker

This tool uses redis bit sets to track unique events per day. The tool maps between arbitrary string ids and bit offsets, within a namespace (i.e. a given id-namespace pair maps to a unique bit offset). This allows for a relatively compact offset space while still enabling tracking of multiple things, e.g. unique users viewing pages and unique pages viewed. There is a default namespace ‘global’ if you don’t need this feature.

Events are tracked on day granularity, so the same id-event pairing will only be counted once per day. Counts can then be prodouced for arbitrary date ranges, using bitwise logical operators. These rollups are cached with a redis expiration timer.

Project details


Download files

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

Source Distributions

redis_gadgets-0.1.7.tar.gz (3.8 kB view hashes)

Uploaded Source

redis_gadgets-0.1.4.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distributions

redis_gadgets-0.1.7-py2-none-any.whl (5.9 kB view hashes)

Uploaded Python 2

redis_gadgets-0.1.4-py2-none-any.whl (5.6 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page