Redis: Ein magisches Tool zur Verkürzung der Datenabfragezeit. Es sind spezifische Codebeispiele erforderlich.
Redis ist eine leistungsstarke In-Memory-Datenbank, die die Geschwindigkeit der Datenabfrage erheblich verbessern kann. Redis verfügt über eine Vielzahl von Datentypen, darunter Zeichenfolgen, Hashes, Listen, Mengen, geordnete Mengen usw., und kann in verschiedenen Anwendungsszenarien wie Zählern, Caches, Nachrichtenwarteschlangen usw. verwendet werden.
In diesem Artikel wird die Verwendung von Redis vorgestellt und Codebeispiele bereitgestellt, um den Lesern zu helfen, Redis besser zu verstehen und zu verwenden.
1. Installieren Sie Redis
Bevor Sie Redis verwenden, müssen Sie zuerst Redis installieren. Sie können das Installationspaket von der offiziellen Redis-Website (https://redis.io/) herunterladen oder den Paketmanager verwenden, um es zu installieren.
Nehmen Sie Ubuntu als Beispiel und verwenden Sie den folgenden Befehl zur Installation:
$ sudo apt-get update
$ sudo apt-get install redis-server
Nach Abschluss der Installation können Sie den folgenden Befehl verwenden, um den Redis-Dienst zu starten:
$ redis-server
2. Allgemeine Redis-Befehle
Redis-Befehle werden gesendet an den Redis-Server über den Client ausgeführt. Für die Interaktion können Sie das mit Redis gelieferte Befehlszeilentool redis-cli verwenden.
Die folgenden Befehle sind für Redis üblich:
- SET-Schlüsselwert: Setzt den Wert des angegebenen Schlüssels auf value
- GET-Schlüssel: Ruft den Wert des angegebenen Schlüssels ab
- DEL-Schlüssel: Löscht den angegebenen Schlüssel
- INCR Schlüssel: Für den angegebenen Schlüssel wird der Wert um 1 erhöht. DECR-Schlüssel: Der Wert des angegebenen Schlüssels wird um 1 verringert. HSET-Schlüsselfeldwert: Setzt den Wert des angegebenen Felds in der Hash-Tabelle des angegebenen Schlüssels auf value
- HGET-Schlüsselfeld: Ruft den angegebenen Wert des angegebenen Felds in der Hash-Tabelle des Schlüssels ab
- LPUSH-Schlüsselwert: Fügt den Wert in den Kopf der Liste mit dem angegebenen Schlüssel ein
- RPUSH-Schlüsselwert: Fügt den Wert ein das Ende der Liste mit dem angegebenen Schlüssel
- LPOP-Schlüssel: Entfernen Sie den angegebenen Schlüssel. Das Kopfelement der Liste
- RPOP-Schlüssel: Entfernen Sie das Endelement der Liste mit dem angegebenen Schlüssel
- SADD-Schlüsselmitglied: Fügen Sie ein Mitgliedselement hinzu zum Satz des angegebenen Schlüssels
- SMEMBERS-Schlüssel: Alle Elemente im Satz des angegebenen Schlüssels abrufen
- ZADD-Schlüssel-Score-Mitglied: Punkte- und Mitgliedselemente zum geordneten Satz des angegebenen Schlüssels hinzufügen
- ZRANGE-Schlüssel Start Stopp: Abrufen Die Elemente zwischen Start und Stopp im geordneten Satz des angegebenen Schlüssels, sortiert nach Punktzahl von klein nach groß Datenzugriff. Das Folgende ist ein Beispielcode, der Redis als Cache verwendet:
import redis
REDIS_HOST = 'localhost'
REDIS_PORT = 6379
def get_data(key):
r = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT, db=0)
data = r.get(key)
if data:
return data.decode()
else:
data = fetch_data_from_database()
r.set(key, data)
return data
def fetch_data_from_database():
# 到数据库中获取数据
pass
- Wenn die Methode get_data aufgerufen wird, fragen Sie zunächst über Redis ab, ob zwischengespeicherte Daten vorhanden sind. Wenn zwischengespeicherte Daten vorhanden sind, werden diese direkt zurückgegeben. Andernfalls holen Sie sich die Daten aus der Datenbank, speichern Sie sie in Redis und geben Sie die Daten dann zurück.
- Queue
Redis kann als Nachrichtenwarteschlange verwendet werden, um eine asynchrone Aufgabenverarbeitung zu erreichen. Das Folgende ist ein Beispielcode, der Redis als Warteschlange verwendet:
import redis
REDIS_HOST = 'localhost'
REDIS_PORT = 6379
def process_data(data):
# 处理数据
pass
def worker():
r = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT, db=0)
while True:
data = r.lpop('task_queue')
if data:
process_data(data.decode())
else:
time.sleep(1)
def add_task(data):
r = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT, db=0)
r.rpush('task_queue', data)
- Wenn die Methode add_task aufgerufen wird, werden die zu verarbeitenden Daten zur Warteschlange task_queue hinzugefügt. Die Worker-Methode wartet auf Daten in der Warteschlange. Wenn Daten verfügbar sind, rufen Sie die Methode „process_data“ auf, um die Daten zu verarbeiten.
4. Fazit
Redis ist eine leistungsstarke In-Memory-Datenbank, die die Geschwindigkeit der Datenabfrage in Szenarien mit hoher Parallelität erheblich verbessern kann. Dieser Artikel stellt die allgemeinen Befehle und Anwendungsbeispiele von Redis vor und hofft, den Lesern hilfreich zu sein.
Das obige ist der detaillierte Inhalt vonRedis: ein magisches Tool zur Verkürzung der Datenabfragezeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!