Detaillierte Erläuterung der Verwendung des Redis-Cache-Servers in Django

巴扎黑
Freigeben: 2017-08-17 11:32:38
Original
1901 Leute haben es durchsucht

Ich glaube, jeder kennt Redis, es ist eine leistungsstarke Schlüsselwertdatenbank. Du Niang hat eine sehr klare Einführung, daher werde ich es nicht einzeln vorstellen Hier.

Unter welchen Umständen verwenden wir normalerweise Cache-Server? Es ist nicht in allen Situationen erforderlich, ein Feld nur dann auf dem Cache-Server abzulegen, wenn es häufig gelesen werden muss. Und da Schlüsselwertdatenbanken im Allgemeinen nur sehr einfache Daten speichern Gehen Sie bei der Auswahl der zu speichernden Objekte vorsichtig vor.

Lassen Sie mich vorstellen, wie Sie die Redis-Datenbank in Django konfigurieren und verwenden. Führen Sie zunächst den folgenden Befehl in Ubuntu aus:

#Install Redis server

sudo apt-get install redis-server
Nach dem Login kopieren

Um Redis in Django verwenden zu können, müssen Sie außerdem das Redis für Django-Plugin installieren:

pip install django-redis
Nach dem Login kopieren

Dies ist ein Open-Source-Projekt, die Github-Adresse lautet https://github.com /niwibe/django-redis, vielen Dank an den Autor.

Dann ist es jetzt in den Django-Einstellungen konfiguriert.

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*60
Nach dem Login kopieren

Tatsächlich benötigen Sie diese Elemente nur in CACHES. Die folgenden drei Sätze werden nicht benötigt, werden aber in meinen späteren Beispielen benötigt, daher habe ich sie hier konfiguriert.

Okay, jetzt, da die Verbindung und Konfiguration abgeschlossen sind, wie wird es im Projekt verwendet? Schauen wir uns das folgende Beispiel an.

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)
Nach dem Login kopieren

Die beiden oben genannten Methoden können zum Lesen von Redis verwendet werden. Sie müssen nur die erforderlichen Felder als Parameter an die Methode übergeben.

Und was ist mit dem zuvor erwähnten Memcached? Tatsächlich handelt es sich um die gleiche Konfiguration:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}
Nach dem Login kopieren

Natürlich ist die Verwendung dieselbe wie in meinem Beispiel oben. Tatsächlich ist die Konfiguration für Cache-Server wie Redis sehr einfach und die spezifische Verwendung ist nicht schwierig. Auf der offiziellen Website gibt es nur eines, auf das wir achten sollten , was zu verwenden ist Das Speichern dieser Art von Informationen in Redis ist das, worüber wir uns wirklich kümmern müssen.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung des Redis-Cache-Servers in Django. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!