Skip to main content

A suite of better cache tools for Django.

Project description

Full Documentation: http://readthedocs.org/docs/django-better-cache/en/latest/
Mailing List: https://groups.google.com/forum/#!forum/bettercache

## Better Cache

Better Cache is a replacement for the default cache template tag library from Django.
It is a better version of {% cache %}

What is better about Better Cache?

- Nested cache fragments inherit the variables their parent fragments key on
- Parent cache fragments can be given additional keys by their child cache fragments

An example:

{% cache 500 "outer" x %}
y = {{ y }}<br />
{% cache 500 "inner" y %}
x = {{ x }}<br />
{% endcache %}
{% endcache %}

In the default {% cache %} tag from Django, the inner fragment will not be
rerendered when x changes, because only the outer fragment uses that as a key
variable. The outer fragment will not update with y changes, because only the
inner fragment uses that.

With Better Cache, x and y affect both, so fragments will be re-rendered when
any important variable changes.

Better Cache also allows a syntax of giving defaults to key variables:

{% cache 500 "test" x=10 %}

### Controlling inheritence

You don't always want the outer cache fragments to invalidate when variables
only important to the inner fragment changes. In some cases, the inner fragment
is allowed to get stale if it stays cached longer as part of the parent, so
we want a way to disable the inheritence of the variables.

You can do this with the `local` modifier. All modifiers after the `local` will
affect only this cache fragment, not its parent.

{% cache 500 "outer" x %}
y = {{ y }}<br />
{% cache 500 "inner" local y %}
x = {{ x }}<br />
{% endcache %}
{% endcache %}

### Plans

- on-demand invalidation of fragments based on mappings through an ORM-like interface

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

bettercache-0.6-beta-2.tar.gz (21.2 kB view details)

Uploaded Source

File details

Details for the file bettercache-0.6-beta-2.tar.gz.

File metadata

File hashes

Hashes for bettercache-0.6-beta-2.tar.gz
Algorithm Hash digest
SHA256 3ec1fca8d401cc46afe4b1a7d0ed3e97e8a716f824f9b2687691bdb9af13a9c6
MD5 bc9623cb421bd7c8f0a8407c298bfd37
BLAKE2b-256 7f7a5e7f909bb1515b873d2186620b55d36b3dfad20c55867a6ad50cad289536

See more details on using hashes here.

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