Maison > Article > développement back-end > Explication détaillée de l'utilisation du serveur de cache Redis dans Django
Je pense que tout le monde connaît Redis. Comme Memcached, c'est une base de données clé-valeur hautes performances. Quant à ce qu'est un serveur de cache, Du Niang a une introduction très claire, je ne le présenterai donc pas un par un. ici.
Alors, dans quelles circonstances utilisons-nous habituellement des serveurs de cache ? Ce n'est pas nécessaire dans toutes les situations. De manière générale, ce n'est que lorsqu'un champ doit être lu fréquemment qu'il est nécessaire de mettre ce champ sur le serveur de cache. Et comme les bases de données clé-valeur ne stockent généralement que des données très simples, ainsi soit-il. soyez prudent lors de la sélection des objets à enregistrer.
Permettez-moi de vous présenter comment configurer et utiliser la base de données redis dans Django. Tout d'abord, installez redis. Exécutez la commande suivante dans Ubuntu :
#Installer le serveur Redis
sudo apt-get install redis-serverEnsuite, pour utiliser redis dans Django, vous devez également installer le plug-in redis pour Django :
pip install django-redisIl s'agit d'un projet open source, l'adresse github est https://github.com /niwibe/django-redis, merci à l'auteur. Ensuite, il est désormais configuré dans les paramètres de Django.
CACHES = { 'default': { 'BACKEND': 'redis_cache.cache.RedisCache', 'LOCATION': '127.0.0.1:6379', "OPTIONS": { "CLIENT_CLASS": "redis_cache.client.DefaultClient", }, }, } REDIS_TIMEOUT=7*24*60*60 CUBES_REDIS_TIMEOUT=60*60 NEVER_REDIS_TIMEOUT=365*24*60*60En fait, vous n'avez besoin que de ces éléments dans les CACHES. Les trois phrases suivantes ne sont pas nécessaires, mais elles sont nécessaires dans mes exemples ultérieurs, je les ai donc configurées ici. Bon, maintenant que la connexion et la configuration sont terminées, comment l'utiliser dans le projet ? Regardons l'exemple suivant.
from django.conf import settings from django.core.cache import cache #read cache user id def read_from_cache(self, user_name): key = 'user_id_of_'+user_name value = cache.get(key) if value == None: data = None else: data = json.loads(value) return data #write cache user id def write_to_cache(self, user_name): key = 'user_id_of_'+user_name cache.set(key, json.dumps(user_name), settings.NEVER_REDIS_TIMEOUT)Les deux méthodes ci-dessus peuvent être utilisées pour lire redis. Il vous suffit de transmettre les champs obligatoires en tant que paramètres dans la méthode. Alors qu'en est-il de Memcached mentionné précédemment ? En fait, c'est la même configuration :
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211', } }Bien entendu, l'utilisation est la même que mon exemple ci-dessus. En fait, pour les serveurs de cache comme Redis, la configuration est très simple et l'utilisation spécifique n'est pas difficile. Il existe de nombreux exemples simples et clairs sur le site officiel pour notre référence. Il n'y a qu'une seule chose à noter, c'est quoi. utiliser Enregistrer ce type d'informations dans Redis est ce dont nous devons vraiment nous soucier.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!