Comment utiliser Memcached dans Django?
J'ai vu partout des problèmes d'utilisation de Memcached dans des projets Django qui sont considérés comme
Le type de cache le plus rapide et le plus efficace pris en charge nativement par Django
Par exemple,
- Pourquoi Memcache ne fonctionne-t-il pas dans mon Django?
- Comment configurer Memcache pour Django sur Google Cloud AppEngine?
- Django n'utilise pas le framework Memcached
- memcache sur django ne fonctionne pas
- Comment utiliser Memcached dans le projet Django?
- Comment confirmez-vous que Django utilise Memcached?
- Configurer Memcached avec Django
- Quelles étapes sont nécessaires pour implémenter Memcached dans une application Django?
- Comment utiliser Memcached dans le projet Django?
Alors, comment pouvons-nous alors l'utiliser?
Réponses
Cette réponse explique comment installer Memcached sur Windows 10 et comment l'intégrer à Django via un client spécifique. Il a été validé avec Memcached 1.4.4, Python 2.7 et Django 1.11.
Dans votre projet Django, sous settings.py, ajoutez le code suivant en bas du fichier
SESSIONS_ENGINE='django.contrib.sessions.backends.cache' CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211', } }Installez le client memcached pour Python avec votre environnement virtuel actif ( python-memcached )
pip install python-memcachedTéléchargez Memcached en utilisant l'un des liens de téléchargement suivants et extrayez-le dans un dossier particulier
- http://downloads.northscale.com/memcached-win32-1.4.4-14.zip
- http://downloads.northscale.com/memcached-win64-1.4.4-14.zip
Ouvrez cet emplacement de dossier dans le terminal ou PowerShell et exécutez
.\memcached.exe -h
tu devrais obtenir quelque chose comme ça
Exécutez la commande suivante (-m correspond à la quantité de mémoire que vous souhaitez dédier et -vvv correspond à l'extrême verbosité)
.\memcached.exe -m 512 -vvv
Dans la vue que vous souhaitez utiliser le cache, spécifiez-le dans urls.py comme
from django.conf.urls import include, url from django.views.decorators.cache import cache_page from .views import IndexView urlpatterns = [ url(r'^$', cache_page(60*60)(IndexView.as_view()), name="index"), ]Accédez au projet Django, démarrez le serveur et vous devriez obtenir de bien meilleurs résultats dans votre charge de temps.