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.2+ is 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.