Heim  >  Artikel  >  Web-Frontend  >  Analyse von 5 gängigen Anwendungsszenarien von Redis

Analyse von 5 gängigen Anwendungsszenarien von Redis

小云云
小云云Original
2018-02-28 15:11:177018Durchsuche

Wenn Sie den Eindruck haben, dass Redis nur ein Schlüsselwertspeicher ist, dann haben Sie viele leistungsstarke Funktionen verpasst. Redis ist ein leistungsstarker Speicher mit umfangreichen Datenstrukturen, sodass er in vielen Aspekten angewendet werden kann Als Datenbank, Cache, Nachrichtenwarteschlange usw.

1. Vollständiges Seiten-Caching

Wenn Sie serverseitige Inhaltswiedergabe verwenden und nicht jede Seite für jede Anfrage neu rendern möchten, können Sie Redis verwenden, um häufig angeforderte Dateien zwischenzuspeichern Content Caching kann die Verzögerung von Seitenanfragen erheblich reduzieren. Viele Frameworks verwenden bereits Redis zum Zwischenspeichern von Seiten.

// Set the page that will last 1 minute
SET key "<html>...</html>" EX 60
// Get the page
GET key

2. Rangliste

Redis basiert auf Speicher und kann zunehmende und abnehmende Vorgänge im Vergleich zur Verarbeitungsmethode von SQL-Anfragen sehr schnell verarbeiten Riesig.

Die geordnete Sammlung von Redis kann problemlos in Millisekunden „die Top-N-Elemente aus einer großen Liste abrufen“ und ist sehr einfach.

// Add an item to the sorted set
ZADD sortedSet 1 "one"
// Get all items from the sorted set
ZRANGE sortedSet 0 -1
// Get all items from the sorted set with their score
ZRANGE sortedSet 0 -1 WITHSCORES

3. Sitzungsspeicher

Dies ist möglicherweise der am häufigsten verwendete Punkt. Redis verfügt über die Möglichkeit, Cache-Daten beizubehalten Nachdem ein Problem auftritt und Sie neu starten, sind die zuvor zwischengespeicherten Daten immer noch vorhanden. Dies ist praktischer und vermeidet Probleme mit der Benutzererfahrung, die durch das plötzliche Verschwinden der Sitzung verursacht werden.

// Set session that will last 1 minute
SET randomHash "{userId}" EX 60
// Get userId
GET randomHash

4. Warteschlange

Zum Beispiel können die E-Mail-Sendewarteschlange und die Datenwarteschlange, die darauf warten, von anderen Anwendungen genutzt zu werden, einfach und natürlich eine effiziente Warteschlange erstellen.

// Add a Message
HSET messages <id> <message>
ZADD due <due_timestamp> <id>
// Recieving Message
ZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1
HGET messages <message_id>
// Delete  Message
ZREM due <message_id>
HDEL messages <message_id>

5. Veröffentlichen/Abonnieren

Pub/Sub ist eine sehr leistungsstarke Funktion, die in Redis integriert ist. Beispielsweise kann es ein Echtzeit-Chat-System erstellen und Benachrichtigungen in sozialen Netzwerken auslösen usw. warten.

// Add a message to a channel
PUBLISH channel message
// Recieve messages from a channel
SUBSCRIBE channel

Verwandte Empfehlungen:

PHP verwendet Redis-Beispiele zur Erklärung

PHP über die Definition und Verwendung von Redis-Zählerklasse

Szenarien, in denen Redis in PHP-Projekten verwendet werden muss

Das obige ist der detaillierte Inhalt vonAnalyse von 5 gängigen Anwendungsszenarien von Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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