django-cacheback

Caching library for Django that uses Celery or RQ to refresh cache items asynchronously


Keywords
flake8, markdown, lint
License
MIT
Install
pip install django-cacheback==3.0.0

Documentation

Cacheback

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 readthedocs.org.

Supported versions

Python 3.6+ is supported. Django 2.0+ is supported.

Do you have tests?

You betcha!

CI Status

Can I use this in my project?

Probably - subject to the MIT license.

I want to contribute!

Brilliant! Here are the contributing guidelines.