Les différentes configurations de cache de Django

        Django fournit une variété de backends de cache, tels que le cache mémoire, le cache de fichiers, le cache de base de données, Memcached et Redis. Choisissez un backend de cache approprié en fonction des exigences du projet.

        configuration des paramètres

Dans le fichier settings.py du projet Django, recherchez ou ajoutez l'élément de configuration CACHES. Selon le backend de cache sélectionné, configurez les paramètres correspondants. Voici des exemples de configuration pour certains backends de cache courants :

  • cache mémoire :
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        'LOCATION': 'unique-snowflake',
    }
}
  • Cache de fichiers :
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': '/var/tmp/django_cache',
    }
}
  • Cache de la base de données :

Tout d'abord, une table de base de données doit être créée pour stocker les données mises en cache. Il peut être créé avec la commande suivante :

python manage.py createcachetable cache_table_name

Ensuite, configurez dans le fichier settings.py :

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'cache_table_name',
    }
}
  • Memcaché:
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}
  • Redis :

Tout d'abord, vous devez installer le package django-redis :

pip install django-redis

Ensuite, configurez dans le fichier settings.py (les bases de données locales, distantes et cloud sont toutes correctes) :

CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': 'redis://your_redis_host:your_redis_port/your_redis_db',
        'OPTIONS': {
            'CLIENT_CLASS': 'django_redis.client.DefaultClient',
            'PASSWORD': 'your_redis_password',  # 如果Redis服务器设置了密码,请添加此项
        }
    }
}

Couramment utilisé localement :

CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': 'redis://127.0.0.1:6379/1',
        'OPTIONS': {
            'CLIENT_CLASS': 'django_redis.client.DefaultClient',
        }
    }
}

        Parmi eux, your_redis_host, your_redis_portet your_redis_dbdoivent être remplacés par l'adresse, le port et le numéro de base de données du serveur Redis distant réel. Si le serveur Redis a défini un mot de passe, veuillez ajouter PASSWORDune option et renseigner le mot de passe correspondant.

        Par exemple, après avoir configuré le cache Redis, vous pouvez effectuer des opérations de cache via l'API du module de cache dans le projet Django :

from django.core.cache import cache

# 设置缓存
cache.set('key', 'value', 999)

# 获取缓存
value = cache.get('key')

# 删除缓存
cache.delete('key')

        Remarque : Le délai d'expiration par défaut du cache Django est de 300 secondes (5 minutes). Si aucune expiration n'est spécifiée lors de la configuration du cache, Django utilisera cette valeur par défaut.

        Si vous souhaitez que le délai d'expiration par défaut soit de 10 minutes, vous pouvez définir des paramètres dans le fichier de configuration :

CACHE_TIMEOUT = 600

        Grâce aux étapes ci-dessus, vous pouvez configurer Redis distant en tant que backend de cache dans le projet Django. De cette façon, les avantages de performance de Redis peuvent être pleinement utilisés pour améliorer l'efficacité opérationnelle du projet Django.

Guess you like

Origin blog.csdn.net/lxd_max/article/details/132168593