Heim >Datenbank >Redis >So verwenden Sie Django Redis

So verwenden Sie Django Redis

王林
王林nach vorne
2023-06-03 14:53:131254Durchsuche

1. Beschreibung

Redis spielt in allen Aspekten eine große Rolle. Wenn Sie Django verwenden, gibt es eine Redis-Bibliothek, die speziell für Django entwickelt wurde

pip install django-redis

3. Konfiguration

3.1 Redis konfigurieren

Öffnen Sie die Django-Konfigurationsdatei, z. B. Setting.py, und legen Sie das CACHES-Element darin fest Alias ​​(Alias), der „Standard“ oben ist der Alias. Sie können über verschiedene Aliase eine Verbindung zu verschiedenen Redis-Datenbanken herstellen.

LOCATION sind die Verbindungsinformationen, einschließlich des IP-Port-Benutzerkennworts usw. Wenn kein Benutzerkennwort erforderlich ist, Sie können es weglassen. django- Redis unterstützt drei Verbindungsprotokolle, wie folgt: Protokoll: Beschreibung: Beispiel: Redis: //: Gewöhnliche TCP-Socket-Verbindung: Redis: // [Benutzername]: [Passwort]]@localhost:6379/0

rediss

SSL TCP-Socket-Verbindungrediss://[[Benutzername]:[Passwort]]@localhost:6379/0 rediss://Unix-Domain-Socket-Verbindungunix://[[Benutzername]:[Passwort]]@/path/to/socket.sock?db=0
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}
3.3 Redis-Verbindungszeitlimiteinstellung
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "default"
Wenn Sie das Standard-Redis verwenden möchten, d. h. das Redis mit dem in der Konfigurationsdatei festgelegten Alias ​​„default“, können Sie sich auf das beziehen Cache in django.core.cache
CACHES = {
    "default": {
        # ...
        "OPTIONS": {
            "SOCKET_CONNECT_TIMEOUT": 5,  # 连接redis超时时间,单位为秒
            "SOCKET_TIMEOUT": 5,  # redis读写操作超时时间,单位为秒
        }
    }
}
from django.core.cache import cache

cache.set("name", "冰冷的希望", timeout=None)
print(cache.get("name"))
5Der Vorteil der Verwendung eines Der Verbindungspool besteht darin, dass Sie keine Verbindungsobjekte verwalten müssen, sondern automatisch einige Verbindungsobjekte erstellen und versuchen, sie wiederholt zu verwenden, sodass die Leistung relativ besser ist
3.2 Verwenden Sie Redis, um Sitzungen zu speichern Djangos Standardsitzung wird in der SQL-Datenbank gespeichert, aber wir alle wissen, dass normale Daten auf der Festplatte gespeichert werden, was nicht so schnell ist. Wenn Sie sie so ändern möchten, dass sie in Redis gespeichert werden, müssen Sie sie nur konfigurieren in der Konfigurationsdatei Nur ein Klick
Die Anzahl der Sekunden für das Verbindungszeitlimit kann im Konfigurationselement angegeben werden. SOCKET_CONNECT_TIMEOUT stellt das Zeitlimit für die Verbindung zu Redis dar, und SOCKET_TIMEOUT stellt das Zeitlimit für das Lesen und Schreiben dar Operationen mit Redis4. Verwenden Sie Redis 4.1 Verwenden Sie das Standard-Redis
4.2 Verwenden Sie das angegebene Redis (Native Redis) Wenn Sie mehrere Redis-Verbindungen in die Konfigurationsdatei schreiben, können Sie über Aliase angeben, welche Redis verwendet werden sollenBitte beachten Sie, dass der Client erhalten hat über get_redis_connection() ist der native Redis-Client, obwohl er grundsätzlich alle nativen Redis-Befehle unterstützt, aber die zurückgegebenen Daten vom Byte-Typ sind, müssen Sie sie selbst dekodieren
5.1 Konfigurieren Sie den Verbindungspool

Um zuerst den Verbindungspool zu verwenden Schreiben Sie die maximale Anzahl von Verbindungen im Verbindungspool in die Django-Konfigurationsdatei Informationen darüber, welche Verbindungsinstanzen erstellt werden, können jedoch über das _created_connections-Attribut von „connection_pool“ überprüfen, wie viele Verbindungsinstanzen derzeit erstellt werden. 5.3 Benutzerdefinierter Verbindungspool. Die Standardverbindungsklasse von Django-redis ist „DefaultClient“. , Sie können eine eigene neue Klasse erstellen und ConnectionPool erben

from django_redis import get_redis_connection

redis_conn = get_redis_connection("chain_info")
redis_conn.set("name", "icy_hope")
print(redis_conn.get("name"))

Nachdem Sie diese Klasse haben, müssen Sie sie noch in der Django-Konfigurationsdatei angeben

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        ...
        "OPTIONS": {
            "CONNECTION_POOL_KWARGS": {"max_connections": 100}
        }
    }
}

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Django Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen