Explication détaillée de l'utilisation du serveur de cache Redis dans Django

巴扎黑
Libérer: 2017-08-17 11:32:38
original
1902 Les gens l'ont consulté

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-server
Copier après la connexion
<🎜. >Ensuite, pour utiliser redis dans Django, vous devez également installer le plug-in redis pour Django :

pip install django-redis
Copier après la connexion
Il 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 = {
    &#39;default&#39;: {
        &#39;BACKEND&#39;: &#39;redis_cache.cache.RedisCache&#39;,
        &#39;LOCATION&#39;: &#39;127.0.0.1:6379&#39;,
        "OPTIONS": {
            "CLIENT_CLASS": "redis_cache.client.DefaultClient",
        },
    },
}
REDIS_TIMEOUT=7*24*60*60
CUBES_REDIS_TIMEOUT=60*60
NEVER_REDIS_TIMEOUT=365*24*60*60
Copier après la connexion
En 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 = &#39;user_id_of_&#39;+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 = &#39;user_id_of_&#39;+user_name
    cache.set(key, json.dumps(user_name), settings.NEVER_REDIS_TIMEOUT)
Copier après la connexion
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 = {
    &#39;default&#39;: {
        &#39;BACKEND&#39;: &#39;django.core.cache.backends.memcached.MemcachedCache&#39;,
        &#39;LOCATION&#39;: &#39;127.0.0.1:11211&#39;,
    }
}
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!