Caching

Bis Django 1.2 konnte nur ein Cache Backend in CACHE_BACKEND konfiguriert werden. Seit Django 1.3 gibt es CACHES, wo man mehrere Cache Backends konfigurieren kann.

Cache Backends

Als Cache Backends stehen zur Verfügung:

Jedes Cache Backend kann mit Optionen konfiguriert werden:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': '/var/tmp/django_cache',
        'TIMEOUT': 60,
        'OPTIONS': {
            'MAX_ENTRIES': 1000
        }
    }
}

Anwendungsmöglichkeiten der Caches

Es gibt verschiedene Möglichkeiten zu Cachen:

Mit der Cache API kann man spezielle Caching Probleme lösen:

>>> from django.core.cache import cache
>>> cache.set('my_key', 'hello, world!', 30)
>>> cache.get('my_key')
'hello, world!'
# Wait 30 seconds for 'my_key' to expire...
>>> cache.get('my_key')
None

Mit Hilfe von KEY_PREFIX kann man einen Prefix für verschiedene Caches konfigurieren, damit diese getrennt sind.

VERSION versioniert den Cache und man kann einfach Teile des Caches löschen.

Außerdem kann man Dekoratoren nutzen, um entweder HTTP Header als Cache-Kriterien zu nutzen oder um HTTP Header zu senden, die sich auf das Caching beziehen.

Inhalt

Vorheriges Thema

Alternative Authentifizierung

Nächstes Thema

Deployment

Diese Seite