Heim >php教程 >PHP开发 >Django verwendet den Redis-Cache-Server

Django verwendet den Redis-Cache-Server

高洛峰
高洛峰Original
2016-11-23 13:08:491193Durchsuche

Ich glaube, jeder kennt Redis, es handelt sich um 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

Um Redis in Django verwenden zu können, müssen Sie außerdem das Redis für Django-Plug-in installieren:
pip install django-redis

Dies ist eine Open Source Projekt, die Github-Adresse lautet https://github.com/niwibe/django-redis, danke 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*60*60
Cubes_redis_tim Eout = 60* 60
NEVER_REDIS_TIMEOUT =365*24*60*60

Tatsächlich werden diese Elemente nur in CACHES benötigt, aber sie werden in meinen späteren Beispielen benötigt, ich habe 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.
aus django.conf-Importeinstellungen
aus django.core.cache-Importcache
#read-Cache-Benutzer-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-Benutzer-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)

Pass Die beiden oben genannten Methoden können den Lesevorgang von Redis realisieren. Sie müssen nur die erforderlichen Felder als Parameter an die Methode übergeben.

Was ist also 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',
}
}

Natürlich ist die Verwendung die gleiche 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.

Stellungnahme:
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
Vorheriger Artikel:Django-LernressourcenNächster Artikel:Django-Lernressourcen