Smart caching for Django using Celery to refresh cached items asynchronously.
Python Other
Latest commit dd3126d Jun 24, 2016 @stephrdev stephrdev Move tests for key generation of Django models
As the key method is part of the base job, I moved the test to



Asynchronous cache refreshing for Django

What does this library do?

It's an extensible caching library that refreshes stale cache items asynchronously using a Celery or rq task (utilizing django-rq). The key idea being that it's better to serve a stale item (and populate the cache asynchronously) than block the response process in order to populate the cache synchronously.

Using this library, you can rework your views so that all reads are from cache - which can be a significant performance boost.

A corollary of this technique is that cache hammering can be handled simply and elegantly, avoiding sudden surges of expensive reads when a cached item becomes stale.

Do you have good docs?

Yup - over on

Do you support Python 3?

Pythons 2.7, 3.3, 3.4, 3.5 and PyPy are supported.

Django versions 1.5 to 1.9 are also supported.

Do you have tests?

You betcha!

Can I use this in my project?

Probably - subject to the MIT license.

I want to contribute!

Brilliant! Here are the contributing guidelines.