Heim > Backend-Entwicklung > Python-Tutorial > Ein umfassender Leitfaden für Django Caching

Ein umfassender Leitfaden für Django Caching

Christopher Nolan
Freigeben: 2025-02-10 12:29:11
Original
364 Leute haben es durchsucht

Ein umfassender Leitfaden für Django Caching

Key Takeaways

  • Verstehen Sie die Grundlagen: Erfassen Sie die grundlegenden Konzepte des Caching in Django, einschließlich seiner Bedeutung für die Reduzierung der Serverlast und die Verbesserung der Benutzererfahrung, indem die Antwortzeiten beschleunigt werden.
  • Setup und Konfiguration: Erfahren Sie, wie Sie ein Django-Projekt einrichten und verschiedene Caching-Methoden wie lokaler Speicher, dateibasiert, Datenbank und das Caching in der Datei "Settings.py`) konfigurieren.
  • .
  • Redis für fortgeschrittenes Caching: Tauchen Sie in die Verwendung von Redis für das Caching in Django ein, das schnelle Datenabruffunktionen bietet, wodurch es für leistungsstarke und verteilte Systeme geeignet ist.
  • Praktische Implementierung: Erforschen Sie praktische Caching-Techniken wie Sichtdurchschnitt, Vorlagenfragment-Caching und Caching pro Standort, um die Leistung von Webanwendungen erheblich zu optimieren.
  • Leistungsvorteile: Erkennen Sie die dramatischen Verbesserungen der Anwendungsgeschwindigkeit und der Effizienz, die durch die Implementierung von Django-Caching-Strategien erreicht werden können, was letztendlich zu einer besseren Endbenutzererfahrung führt.

In diesem Artikel erhalten Sie ein umfassendes Verständnis für das Caching in Django und die Webentwicklung insgesamt. Sie werden erfahren, was Caching ist, welche Vorteile des Ausrückens, wie das Caching in Django, die Backend -Systeme, die Django unterstützt, und die besten Praktiken des Caching.

Am Ende des Artikels als Backend -Webentwickler haben Sie ein solides Verständnis für das Caching und wie Sie es in Ihren Django -Projekten für die beste Leistung implementieren können.

Das Django -Framework ist eines der beliebtesten Backend -Frameworks, die von Webentwicklern heutzutage verwendet werden. Als Entwickler sollte das Erstellen von Webanwendungen mit hoher Leistung eines der Ziele auf Ihrer Liste sein. Das Erstellen einer Webanwendung in Django zur hohen Leistung sollte also kein Problem sein, da Django mit einem Caching-Framework ausgestattet ist, mit dem Sie verschiedene Caching-Backends wie In-Memory-Cache, dateibasiertes Cache, Datenbank-Cache und mehr verwenden können. 🎜>

Einführung in Django Caching

Caching in der Webentwicklung ist eine Technik, die von Webentwicklern zur Verbesserung der Leistung von Webanwendungen verwendet wird. Jede Webanwendung besitzt Ressourcen, die ihre Benutzer konsequent nutzen möchten. Eine Ressource könnte von einer einfachen Webseite bis hin zu Daten in einer Datenbank sein. Das Caching spielt eine wichtige Rolle bei der Maximierung der Geschwindigkeit, mit der Ressourcen zugegriffen werden.

gemeinsame Caching -Szenarien und Anwendungsfälle

Das Django Caching -Framework bietet eine breite Palette von Szenarien und Anwendungsfällen, mit denen ein Entwickler häufig auf Daten zugegriffen wird. Das Folgende sind die üblichen Caching -Szenarien:

  • Seite zwischengespeichert. Dies ist ein Szenario, in dem häufig besuchte Seiten auf einer Website vollständig zwischengespeichert werden. Die Anwendung holt die zwischengespeicherten Versionen der Seiten ab und rendert sie, wenn eine Anfrage gestellt wird, anstatt den Inhalt der Seite von Grund auf neu zu erstellen.

  • Datenbankabfrage Caching. Das Caching der Datenbankabfrage ist ein guter Ansatz für Anwendungen, die davon abhängen, dass die Datenbank nach Informationen häufig anfordern. Eine Reihe von Anfragen kann durch die gleichen Zwischendaten erfüllt werden, ohne die Datenbank zu treffen, wodurch die Datenbank -Treffer gesenkt werden und die Server -Antwortzeit beschleunigt werden müssen.

  • Sitzung und Authentifizierung zwischeneinander. Mit dem Zwischenspeichern kann eine optimierte Benutzererfahrung und eine schnellere Reaktionszeit verwendet werden. Da zwischengespeicherte Daten es den Benutzern ermöglichen, sich einfach in den authentifizierten Abschnitten einer Anwendung zu bewegen, können die Caching -Authentifizierungs- und Sitzungsdetails dazu beitragen, redundante Authentifizierungsvorgänge zu reduzieren.

Vorteile von Django Caching

Caching ist für Webentwickler in dieser modernen Umgebung, in der Daten von entscheidender Bedeutung sind und die Geschwindigkeit ist, für Webentwickler von wesentlicherem und wesentlicher geworden. Dies sind einige der Vorteile von Caching:

  • Verbesserte Leistung. Das Caching verbessert die Leistung von Webanwendungen durch Reduzierung der Serverlast. Wenn der Server von der Anwendung Anfragen erhält, stellt das Caching sicher, dass einige Anforderungen mit zuvor zwischengespeicherten Daten erfüllt werden. Dies verhindert, dass der Server diese Vorgänge von Grund auf neu durchführen muss. Infolgedessen wird die Erfahrung der Benutzer insgesamt verbessert und die Reaktionszeiten werden beschleunigt.

  • reduzierte Reaktionszeit. Das Caching minimiert die Reaktionszeit durch Reduzierung der Datenbankschläge. Durch das Caching können die Daten jedes Mal, wenn sie benötigt werden, von einem bequemen Ort und nicht direkt aus der Datenbank abgerufen werden. Da einige Daten teure Berechnungen benötigen, die einige Zeit in Anspruch nehmen können, ist das Abrufen von Daten jedes Mal, wenn sie aus der Datenbank benötigt werden, möglicherweise nicht die beste Wahl für alle Daten. Durch das Speichern der Daten und die Umfangsfestigkeit bei Bedarf speichert das Caching den Tag.

  • Ressourcenoptimierung. Durch das Zwischenspeichern von Daten oder Ressourcen in einer Webanwendung können Ressourcen zugänglich und abgerufen werden, ohne sich wiederholende Vorgänge auszuführen, die dieselben Ressourcen ausgeben.

Einrichten eines Django -Projekts

Die Hauptaufgaben in diesem Abschnitt bestehen darin, die virtuelle Umgebung zu erstellen und die erforderlichen Module für das Projekt zu installieren. Um die virtuelle Umgebung zu erstellen, geben Sie diesen Befehl in Ihr Terminal ein:

$ python <span>-m venv project
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Alle Module für das Projekt werden in dieser Umgebung installiert. Um es zu verwenden, müssen wir es aktivieren.

unter Windows verwenden Sie dies:

$ .<span>\project\Scripts\activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

und auf MacOS oder Linux verwenden Sie Folgendes:

$ <span>source project/bin/activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Bevor wir das Caching implementieren, müssen Sie als erstes ein Django -Projekt einrichten. Lassen Sie uns zuerst Django installieren. Öffnen Sie Ihr Terminal und führen Sie diesen Befehl aus:

$ python <span>-m venv project
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Nachdem wir Django erfolgreich installiert haben, erstellen wir ein Django -Projekt und eine Anwendung. Um einen Django -Projekt zu erstellen:

$ .<span>\project\Scripts\activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Navigieren Sie in den Ordner des Projekts. Hier erstellen wir eine Django -Anwendung. Führen Sie diesen Befehl aus:

$ <span>source project/bin/activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

und führen Sie dann das aus:

$ pip <span>install django
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Nachdem wir das Projekt und die Anwendung erfolgreich erstellt haben, müssen wir die Anwendung an das Projekt registrieren. Öffnen Sie die Datei Einstellungen.py und lassen Sie die Liste der Installed_Apps so aussehen:

$ django-admin startproject cachedproject
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Hinweis: Um die Anwendung in Ihrem Django -Projekt zu verwenden, muss sie in der Liste installed_apps registriert werden.

Um zu überprüfen, ob das Django -Framework erfolgreich installiert wurde, testen wir es. Führen Sie im Terminal diesen Befehl aus:

$ <span>cd cachedproject
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Stellen Sie sicher, dass Sie die unten abgebildete Ausgabe erhalten.

Ein umfassender Leitfaden für Django Caching

Kopieren Sie nun die URL und fügen Sie sie in den Webbrowser ein. Die erwartete Ausgabe ist unten abgebildet.

Ein umfassender Leitfaden für Django Caching

Hinweis: Sie können mehr über das schnelle Starten eines Django -Projekts und eine Django -App auf SitePoint lesen.

Konfigurieren verschiedener Caching -Einstellungen in Einstellungen.py

Um das Caching zu verwenden, müssen wir es in unserem Django -Projekt konfigurieren. In diesem Abschnitt werden wir uns also ansehen, wie wir verschiedene Caching -Systeme konfigurieren können, die in Django verfügbar sind.

lokales Speicher Caching

Wie der Name schon sagt, speichert der lokale Speichercache, der manchmal als Locmem abgekürzt wird, zwischengespeicherte Daten im RAM des Hosting -Computers.

django verwendet automatisch lokales Speicher -Caching als Standard -Caching -System, wenn Sie in Ihrer Datei "Einstellungen" keinen alternativen Caching -Mechanismus bereitstellen. Seine fadensichere, schnelle und reaktionsschnelle Caching-Technik ist bemerkenswert.

lokaler Speichercache ist für die Verwendung in Produktionsumgebungen weniger geeignet, da er einen Mechanismus pro Prozess enthält, der jede Art von Cross-Process-Caching verhindert und einzelne Prozesse sorgt, um separate private Cache-Instanzen aufrechtzuerhalten. Es ist dennoch eine gute Wahl für die Entwicklung.

Fügen Sie den folgenden Code in der Datei "Einstellungen" hinzu:

$ python manage.py startapp cachedapplication
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dateibasierte Caching

Im dateibasierten Caching wird jeder Cache-Wert serialisiert und beim Caching getrennt in einer Datei aufbewahrt. Es ist nützlich für kleine Anwendungen oder wo Speicherbasis-Caching nicht praktisch ist.

Der Nachteil dieses Caching-Systems ist, dass es relativ langsamer im Vergleich zu speicherbasiertem Caching ist.

Fügen Sie zum Konfigurieren von Dateibasis in Ihrer Anwendung den folgenden Code in die Datei "Einstellungen" hinzu:

INSTALLED_APPS <span>= [
</span>    <span>'django.contrib.admin',
</span>    <span>'django.contrib.auth',
</span>    <span>'django.contrib.contenttypes',
</span>    <span>'django.contrib.sessions',
</span>    <span>'django.contrib.messages',
</span>    <span>'django.contrib.staticfiles',
</span>    <span># new application added
</span>    <span>'cachedapplication',
</span><span>]
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie unter Windows sind, stellen Sie sicher

$ python <span>-m venv project
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Datenbank Caching

Abgesehen von der Speicherung von Caches in Dateien und dem Hosting des RAM des Geräts bietet Django auch die Möglichkeit, den Cache in einer Datenbank zu speichern.

Dies funktioniert am besten, wenn Sie einen schnellen, gut indexierten Datenbankserver haben.

Fügen Sie den folgenden Code in den Einstellungen hinzu.

$ .<span>\project\Scripts\activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Verwenden Sie den folgenden Befehl, um die in der obige Einrichtung genannte Datenbanktabelle zu konstruieren, bevor Sie den Cache verwenden:

$ <span>source project/bin/activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Der obige Befehl erstellt eine Tabelle in der Datenbank in einem ordnungsgemäßen Format, das das Datenbank -Cache -System von Django erwartet. Der Name der Tabelle wird vom Ort entnommen. In diesem Fall ist der Name der Tabelle my_cache_table.

Memcached Caching

memcached ist ein In-Memory-Caching-System, das von Webentwicklern auch in mehreren beliebten Unternehmen verwendet wird, um den Datenbankzugriff zu reduzieren und die Leistung der Website zu erhöhen.

Im Gegensatz zum Locmem -Cache arbeitet Memcached als Daemon, was impliziert, dass der Memcached -Server unabhängig von einer direkten Benutzerinteraktion als Hintergrundprozess ausgeführt wird. Memcached muss daher separat auf Ihrem Computer installiert werden. Installieren und konfigurieren Sie dann in Ihrer Django -Anwendung eine seiner Bindungen wie Pylibmc oder Pymemcache, um Memcached zu verwenden.

Eine Django -Anwendung kann mit einem Memcached -Daemon verknüpft werden, indem die Cache -Einstellungen, der Speicherort, die IP -Adresse und andere Details hinzugefügt werden, wie unten gezeigt:

$ pip <span>install django
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Memcached -Technologie eignet sich besonders für Anwendungen mit hohen Lese- oder Abfragenlasten, da sie für die schnelle Speicherung und Abruf von Daten ausgelegt wurde.

Der Nachteil von memcached ist, dass die Daten, da die Daten im Speicher gespeichert sind, verloren geht, wenn Ihr Server abstürzt.

Redis

Redis ist eine In-Memory-Datenbank, die zum Zwischenspeichern verwendet werden kann. Es zwischen den Daten unter Verwendung der Datenspeicherung von Redis-In-Memory-Daten zwischengezogen. Redis ist bekannt für seine Schnelligkeit und Anpassungsfähigkeit und macht es zu einer großartigen Option für verteilte Systeme und das Ausschneiden von Hochleistungen.

Um Daten mithilfe von REDIS in Ihrer Anwendung zu richten, benötigen Sie einen Redis -Server, der entweder lokal oder auf einem Remote -Computer ausgeführt wird. Um Redis auf Ihrer Maschine einzurichten, lesen Sie den Redis -Erste -Start -Leitfaden.

Nach dem Einrichten des Redis -Servers müssen Sie Python -Bindungen für Redis installieren. Verwenden Sie diesen Befehl, um ihn zu installieren:

Die Redis-Py-Schnittstelle ist die bindung, die nativ von Django oder die Django-Redis- und Redis-Pakete verwendet wird.
$ django-admin startproject cachedproject
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Um Redis Caching in Ihrer Anwendung zu konfigurieren, da Ihr Redis -Server auf Localhost (127.0.0.1), Port = 6379 ausgeführt wird, fügen Sie den folgenden Code in den Einstellungen hinzu.py:

$ python <span>-m venv project
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Die Komplexität von

Redis und das Vertrauen in externe Dienstleistungen sind seine Kompromisse. Die Redis -Installation und -konfiguration können schwieriger sein als bei bestimmten anderen Cache -Backends. Es benötigt einen zweiten Server und eine Instandhaltung, wenn Sie online sind. Die Redis -Nutzung schafft eine Abhängigkeit von einem externen Dienst. Die Caching -Funktionen Ihrer Anwendung können betroffen sein, wenn Redis Probleme hat oder sinkt.

Durchführung von Caching in Django mit Redis

Okay, das ist genug Theorie. In diesem Abschnitt werden wir demonstrieren, wie das Caching in einer Django -Anwendung ausführt. Wir konzentrieren uns auf drei Formen des Caching:

  • Caching
  • anzeigen
  • Vorlagenfragment Caching
  • pro-site Caching

, aber bevor wir jedes Caching -Formular im Detail ausführen, stellen wir das Projekt zuerst richtig ein. Wir erstellen, registrieren und füllen die Modelle, konfigurieren die URLs der Anwendung, erstellen eine Vorlage, installieren die Django -Debug -Symbolleiste und konfigurieren sie.

In der CachedApplication -App öffnen Sie die Datei models.py und lassen Sie sie so aussehen:

$ .<span>\project\Scripts\activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Öffnen Sie als nächstes die Datei admin.py und fügen Sie diesen Code ein:

$ <span>source project/bin/activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dieser Code -Snippet registriert den Modellprogrammierer im Django Admin -Dashboard.

Bevor wir die Modelle bevölkern, machen wir einige Migrationen. Führen Sie im Terminal dies aus:

$ pip <span>install django
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

und führen Sie dies auch aus:

$ django-admin startproject cachedproject
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

In Django können wir unsere Modelle auf zwei Arten bevölkern: über das Terminal und über das Admin -Dashboard. Der Einfachheit halber werden wir jedoch das Admin -Dashboard verwenden. Da das Admin -Dashboard nur für den Superuser gilt, müssen wir eines erstellen. Führen Sie im Terminal den folgenden Befehl aus:

$ <span>cd cachedproject
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dieser Befehl fordert Sie auf, Superuser -Details wie Benutzername, E -Mail und die beiden Passwörter einzugeben.

Nachdem Sie den Superuser erfolgreich erstellt haben, den lokalen Server aufstellen und in Ihrem Browser diese URL eingeben: http://127.0.0.1:8000/admin/. Das Bild unten zeigt die Seite, auf die Sie aufgenommen werden.

Ein umfassender Leitfaden für Django Caching

Anmeldung, geben Sie die Superuser -Anmeldeinformationen an und bevölkern Sie die Modelle mit Daten, wie unten abgebildet.

Ein umfassender Leitfaden für Django Caching

In der Anwendung erstellen Sie einen Vorlagenordner und erstellen Sie eine list_all.html -Datei. Lassen Sie vorerst die HTML -Datei leer. Öffnen Sie die Datei der Ansichten.py und lassen Sie sie so aussehen:

$ python manage.py startapp cachedapplication
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Registrieren wir nun die Heimansicht in der URLS.PY -Datei des Projekts. Öffnen Sie im Ordner cachedProject die URLS.Py -Datei und fügen Sie diesen Code ein:

INSTALLED_APPS <span>= [
</span>    <span>'django.contrib.admin',
</span>    <span>'django.contrib.auth',
</span>    <span>'django.contrib.contenttypes',
</span>    <span>'django.contrib.sessions',
</span>    <span>'django.contrib.messages',
</span>    <span>'django.contrib.staticfiles',
</span>    <span># new application added
</span>    <span>'cachedapplication',
</span><span>]
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Öffnen Sie nun die Datei list_all.html und fügen Sie den folgenden Code ein:

$ python <span>-m venv project
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

installieren wir eine Django -Debug -Symbolleiste. Dies ist ein Python -Paket, mit dem Entwickler die Leistung ihrer Django -Anwendungen überwachen und detaillierte Informationen zu Datenbankabfragen, HTTP -Anfragen, Vorlagenwiedergabezeiten und mehr bereitstellen können. Geben Sie also in Ihrem Terminal diesen Befehl ein:

$ .<span>\project\Scripts\activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Um die Django-Debug-Toolbar zu konfigurieren, öffnen Sie die Datei Einstellungen.

$ <span>source project/bin/activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Fügen Sie die Debug -Symbolleiste zur Middleware -Liste hinzu:

$ pip <span>install django
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Machen Sie die Debug -Symbolleiste Middleware direkt danach:

$ django-admin startproject cachedproject
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Es sollte auch vor diesem kommen:

$ <span>cd cachedproject
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Fügen Sie die Redis -Cache -Konfigurationen wie folgt hinzu:

$ python manage.py startapp cachedapplication
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Fügen Sie diesen Code auch zur Datei "Einstellungen" hinzu:

INSTALLED_APPS <span>= [
</span>    <span>'django.contrib.admin',
</span>    <span>'django.contrib.auth',
</span>    <span>'django.contrib.contenttypes',
</span>    <span>'django.contrib.sessions',
</span>    <span>'django.contrib.messages',
</span>    <span>'django.contrib.staticfiles',
</span>    <span># new application added
</span>    <span>'cachedapplication',
</span><span>]
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Konfigurieren wir schließlich die Debug -Symbolleisten -URLs in der URLS.Py -Datei. Fügen Sie direkt unter den Importen diese Codezeile hinzu:

$ python manage.py runserver
Nach dem Login kopieren
In der Liste der Urlpatterns fügen Sie diesen Code hinzu:

<span># CACHES dictionary which contains caching configurations.
</span>CACHES <span>= {
</span>    <span># a cache alias or name. In this case, we use "default" as the alias.
</span>    <span>"default": {
</span>        <span># Here, we're using the in-memory cache backend.
</span>        <span>"BACKEND": "django.core.cache.backends.locmem.LocMemCache",
</span>
        <span># LOCATION parameter gives a unique name or identifier to this cache instance.
</span>        <span>"LOCATION": "unique-snowflake",
</span>    <span>}
</span><span>}
</span>
Nach dem Login kopieren
Nachdem wir so weit gekommen sind, können wir loslegen. Führen Sie den Server aus und fügen Sie diese URL in Ihren Browser ein: http://127.0.0.1:8000/home/. Das Bild unten zeigt die Seite, die wir erhalten.

Ein umfassender Leitfaden für Django Caching

Jedes Mal, wenn Sie die Anwendung mit dieser Ansicht ausführen, werden SQL -Abfragen vorgenommen. In diesem Fall haben drei Fragen 2,60 ms angenommen. Um nicht jedes Mal SQL -Abfragen für dieselben Daten vorzunehmen, werden wir das Caching der Ansicht implementieren.

Caching

anzeigen

Wie der Name schon sagt, beinhaltet das Caching -Caching -Ansehen die Ergebnisse einzelner Django -Ansichten. In diesem Abschnitt werden wir das Caching der Ansicht implementieren. Zu diesem Zweck werden wir einige Änderungen an der Datei View.py vornehmen. Öffnen Sie es und fügen Sie diesen Import hinzu:

<span># A CACHES dictionary, which contains caching configurations.
</span>CACHES <span>= {
</span>    <span># we use "default" as the alias.
</span>    <span>"default": {
</span>        <span># Here, we're using the file-based cache backend.
</span>        <span>"BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
</span>
        <span># LOCATION parameter to specify the file system path where cached data will be stored.
</span>        <span>"LOCATION": "/var/tmp/django_cache",
</span>    <span>}
</span><span>}
</span>
Nach dem Login kopieren
direkt über der Ansicht, fügen Sie diesen Dekorator auch hinzu:

CACHES <span>= {
</span>    <span>"default": {
</span>        <span>"BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
</span>        <span>"LOCATION": "C:/my/path-to/file",
</span>    <span>}
</span><span>}
</span>
Nach dem Login kopieren
(60*15) ist das Argument, das an @cache_page übergeben wurde. Es repräsentiert das Cache -Zeitlimit in Sekunden. Die Heimansicht wird 15 Minuten zwischengespeichert.

Besuchen Sie nun dieselbe Ansicht und aktualisieren Sie die Seite. Wir erhalten das Ergebnis unten abgebildet.

Ein umfassender Leitfaden für Django Caching

im obigen Bild können wir sehen, dass 0 SQL -Abfragen durchgeführt werden, da Daten aus dem Cache abgerufen werden. Dies hilft, die Last auf dem Server zu reduzieren, indem zwischengespeicherte Inhalte an Benutzer bedient werden.

Vorlagenfragment Caching

Dieses Caching beinhaltet das Zwischenspeichern bestimmter Teile einer Vorlage in Ihr Projekt. Wenn Ihre Vorlage Teile mit schweren Berechnungen enthält, ist das Vorlagefragment -Caching nützlich. Um dieses Caching zu implementieren, verwenden wir diese Tags: { % load cache %}, { % cache %} und { % endCache %}. Das { % cache %} -Tag nimmt zwei Argumente an: das Cache -Zeitüberschreitende und ein eindeutiger Cache -Schlüssel zur Identifizierung eines bestimmten zwischengespeicherten Fragments.

Versuchen Sie nun, das Projekt auszuführen, bevor Sie diese Caching -Technik implementieren. Das Bild unten zeigt, was wir erhalten.

Ein umfassender Leitfaden für Django Caching

Die Gesamtzeit beträgt 220,26 ms, und drei SQL -Abfragen werden in 7,75 ms durchgeführt.

Lassen Sie uns nun die Caching -Technik implementieren. Wir werden den

-Teil der Vorlage zwischenstrichen. Öffnen Sie die Vorlagen/list_all.html und ändern Sie sie so, dass sie so aussehen:
$ python <span>-m venv project
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

oben in der Datei laden wir den Cache über { % load cache %} und haben den Div -Teil mit { % Cache 500 -Programmierern %} und { % endCache %}.

Wenn Sie das Projekt erneut ausführen, erhalten Sie das unten abgebildete Ergebnis.

Ein umfassender Leitfaden für Django Caching

Im obigen Bild können wir sehen, dass sich die Ergebnisse nach der Implementierung des Caching verbessert haben.

pro-site Caching

pro-site-Caching wird auch als Ganzstelle-Caching bezeichnet. Es geht darum, die Seiten der gesamten Site zwischenzuspeichern. Um dies zu implementieren, müssen Sie diese Middleware -Konfigurationen in der Datei Einstellungen.PY -Datei hinzufügen:

$ .<span>\project\Scripts\activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
und fügen Sie auch diese Zeilen hinzu:

$ <span>source project/bin/activate
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Schlussfolgerung

Abschließend ist das Verständnis von Caching in Django für Webentwickler von wesentlicher Bedeutung, um leistungsstarke Webanwendungen zu erstellen. Dieser Artikel hat einen umfassenden Leitfaden für das Caching in Django bereitgestellt, das Themen wie die Vorteile des Caching, die Einrichtung von Caching in Django und die besten Praktiken für die Implementierung abdeckt. Mit diesem Wissen können Backend -Webentwickler das Caching in ihren Django -Projekten zuversichtlich einbeziehen, um die Leistung zu optimieren.

Wenn Sie diesen Artikel genossen haben, lesen Sie einige weitere Django -Artikel auf SitePoint.

Das obige ist der detaillierte Inhalt vonEin umfassender Leitfaden für Django Caching. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage