

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Häufige ElastiCache Anwendungsfälle und wie ElastiCache Sie helfen können
<a name="elasticache-use-cases"></a>

Ob es sich um die neuesten Nachrichten, eine Top-10-Rangliste, einen Produktkatalog oder den Verkauf von Eintrittskarten für eine Veranstaltung handelt - Geschwindigkeit ist das A und O. Der Erfolg Ihrer Website und Ihres Unternehmens hängt stark von der Geschwindigkeit ab, mit der Sie Inhalte bereitstellen. 

In dem Artikel "[Für ungeduldige Internetnutzer ist ein Augenzwinkern einfach zu lang, um zu warten](http://www.nytimes.com/2012/03/01/technology/impatient-web-users-flee-slow-loading-sites.html?pagewanted=all&_r=0)" stellte die New York Times fest, dass die Nutzer einen Unterschied von 250 Millisekunden (1/4 Sekunde) zwischen konkurrierenden Websites registrieren können. Die Nutzer neigen dazu, die langsamere Seite zugunsten der schnelleren Seite zu verlassen. Tests bei Amazon, die in dem Artikel [Wie die Ladezeit von Webseiten mit dem Verlust von Besuchern zusammenhängt](http://pearanalytics.com/blog/2009/how-webpage-load-time-related-to-visitor-loss/) zitiert werden, ergaben, dass für jede Erhöhung der Ladezeit um 100 ms (1/10 Sekunde) die Verkaufszahlen um 1 Prozent sinken. 

Wenn jemand Daten wünscht, können Sie diese Daten viel schneller bereitstellen, wenn sie im Cache gespeichert sind. Das gilt sowohl für eine Webseite als auch für einen Bericht, der als Grundlage für Geschäftsentscheidungen dient. Kann es sich Ihr Unternehmen leisten, Ihre Webseiten nicht zwischenzuspeichern, um sie so mit der kürzestmöglichen Latenz bereitzustellen?

Es mag intuitiv einleuchtend erscheinen, dass Sie die am häufigsten nachgefragten Artikel in den Cache stellen wollen. Aber warum sollten Sie nicht auch weniger häufig angefragte Elemente zwischenspeichern? Selbst eine optimierte Datenbankabfrage oder ein Remote-API-Aufruf ist deutlich langsamer als das Abrufen eines flachen Schlüssels aus einem In-Memory-Cache. *Eine merkliche Verlangsamung* führt dazu, dass Kunden abwandern.

Die folgenden Beispiele veranschaulichen einige Möglichkeiten, wie die Verwendung die Gesamtleistung Ihrer Anwendung verbessern ElastiCache kann.

**Topics**
+ [In-Memory-Datastore](#elasticache-use-cases-data-store)
+ [Bestenlisten für Spiele](#elasticache-for-redis-use-cases-gaming)
+ [Nachrichtenübermittlung (Pub/Sub)](#elasticache-for-redis-use-cases-messaging)
+ [Empfehlungsdaten (Hashes)](#elasticache-for-redis-use-cases-recommendations)
+ [Semantisches Caching für generative KI-Anwendungen](#elasticache-for-redis-use-cases-semantic-caching)
+ [ElastiCache Kundenreferenzen](#elasticache-use-cases-testimonials)

## In-Memory-Datastore
<a name="elasticache-use-cases-data-store"></a>

Der primäre Zweck eines Hauptspeicher-basierten Key-Value Store besteht darin, superschnellen (mit einer Latenz von unter einer Millisekunde) und kostengünstigen Zugriff auf Kopien von Daten bereitzustellen. Die meisten Datenspeicher haben Bereiche mit Daten, auf die häufig zugegriffen wird, die aber selten aktualisiert werden. Außerdem wird das Abfragen einer Datenbank immer langsamer und kostspieliger sein als das Auffinden eines Schlüssels in einem Schlüsselwertpaar-Cache. Manche Datenbankabfragen sind besonders aufwendig in der Durchführung. Ein Beispiel dafür sind Abfragen, die Joins über mehrere Tabellen oder Abfragen mit intensiven Berechnungen beinhalten. Durch die Zwischenspeicherung solcher Abfrageergebnisse zahlen Sie den Preis für die Abfrage nur einmal. Dann können Sie die Daten schnell und mehrfach abrufen, ohne die Abfrage erneut ausführen zu müssen.

### Was sollte ich zwischenspeichern?
<a name="elasticache-use-cases-data-store-what-to-cache"></a>

Bei der Entscheidung, welche Daten zwischengespeichert werden, sind folgende Faktoren zu berücksichtigen:

**Geschwindigkeit und Kosten** – Es ist immer langsamer und teurer, Daten aus einer Datenbank abzurufen als aus einem Cache. Manche Datenbankabfragen sind grundsätzlich langsamer und kostspieliger als andere. Beispielsweise sind Abfragen, bei denen mehrere Tabellen miteinander verknüpft werden, viel langsamer und teurer als einfache Abfragen, die nur eine Tabelle betreffen. Wenn die interessanten Daten eine langsame und teure Abfrage erfordern, sind sie ein Kandidat für das Caching. Wenn der Abruf der Daten eine relativ schnelle und einfache Abfrage erfordert, kann er je nach anderen Faktoren immer noch ein Kandidat für die Zwischenspeicherung sein.

**Daten und Zugriffsmuster** – Um zu bestimmen, was zwischengespeichert werden soll, müssen auch die Daten selbst und ihre Zugriffsmuster verstanden werden. So ist es beispielsweise nicht sinnvoll, Daten, die sich schnell ändern oder auf die nur selten zugegriffen wird, im Cache zu speichern. Damit die Zwischenspeicherung einen echten Nutzen bringt, sollten die Daten relativ statisch sein und häufig abgerufen werden. Ein Beispiel wäre ein persönliches Profil auf einer Social-Media-Website. Andererseits sollten Sie keine Daten zwischenspeichern, wenn das Zwischenspeichern keine Geschwindigkeits- oder Preisvorteile bringt. So ist es beispielsweise nicht sinnvoll, Webseiten, die Suchergebnisse liefern, in den Cache zu stellen, da die Abfragen und Ergebnisse in der Regel einzigartig sind.

**Unvergänglichkeit** – Per Definition sind zwischengespeicherte Daten veraltete Daten. Selbst wenn es unter bestimmten Umständen nicht veraltet ist, sollte es immer als veraltet betrachtet und behandelt werden. Um festzustellen, ob Ihre Daten für die Zwischenspeicherung geeignet sind, müssen Sie die Toleranz Ihrer Anwendung gegenüber veralteten Daten ermitteln. 

Es kann sein, dass Ihre Anwendung veraltete Daten in dem einen Kontext tolerieren kann, nicht jedoch in einem anderen. Nehmen wir zum Beispiel an, dass Ihre Website einen öffentlich gehandelten Aktienkurs anbietet. Ihre Kunden könnten eine gewisse Unbeständigkeit akzeptieren, wenn sie darauf hingewiesen werden, dass sich die Preise um *n* Minuten verzögern können. Aber wenn Sie diesen Aktienkurs einem Broker für einen Kauf oder Verkauf zur Verfügung stellen, benötigen Sie Echtzeitdaten.

Erwägen Sie die Zwischenspeicherung Ihrer Daten, wenn Folgendes zutrifft:
+ Der Abruf Ihrer Daten ist im Vergleich zum Abruf aus dem Cache langsam oder teuer.
+ Benutzer greifen häufig auf Ihre Daten zu.
+ Ihre Daten bleiben relativ konstant, oder wenn sie sich schnell ändern, ist die Unbeständigkeit kein großes Problem.

Weitere Informationen finden Sie unter [Caching-Strategien für Memcached](Strategies.md).

## Bestenlisten für Spiele
<a name="elasticache-for-redis-use-cases-gaming"></a>

Mit sortierten Sets von Valkey oder Redis OSS können Sie die Rechenkomplexität von Bestenlisten von Ihrer Anwendung auf Ihren Cluster verlagern.

Bestenlisten, wie z. B. die 10 besten Ergebnisse eines Spiels, sind rechenintensiv. Dies gilt vor allem bei einer großen Anzahl gleichzeitiger Spieler und sich ständig ändernden Spielständen. Die sortierten Sätze von Valkey und Redis OSS garantieren sowohl Einzigartigkeit als auch Reihenfolge der Elemente. Bei sortierten Sätzen wird jedes Mal, wenn ein neues Element zur sortierten Menge hinzugefügt wird, dieses in Echtzeit neu eingestuft. Es wird dann in der numerisch richtigen Reihenfolge in die Menge eingefügt. 

In der folgenden Abbildung können Sie sehen, wie eine ElastiCache Gaming-Bestenliste funktioniert.

![\[\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/ElastiCache-Redis-Gaming.png)


**Example Valkey oder Redis OSS-Bestenliste**  
In diesem Beispiel werden vier Spieler und ihre Ergebnisse mithilfe von `ZADD` in eine sortierte Liste eingegeben. Der Befehl `ZREVRANGEBYSCORE` listet die Spieler in absteigender Reihenfolge entsprechend ihrem Ergebnis auf. Als Nächstes wird `ZADD` verwendet, um das Ergebnis von June zu aktualisieren, indem der bestehende Eintrag überschrieben wird. Zum Schluss werden die Spieler von `ZREVRANGEBYSCORE` nach ihrer Punktzahl aufgelistet, von hoch bis niedrig. Die Liste zeigt, dass June in der Rangliste aufgestiegen ist.  

```
ZADD leaderboard 132 Robert
ZADD leaderboard 231 Sandra
ZADD leaderboard 32 June
ZADD leaderboard 381 Adam
			
ZREVRANGEBYSCORE leaderboard +inf -inf
1) Adam
2) Sandra
3) Robert
4) June

ZADD leaderboard 232 June

ZREVRANGEBYSCORE leaderboard +inf -inf
1) Adam
2) June
3) Sandra
4) Robert
```
Mit dem folgenden Befehl erfährt June, auf welchem Platz sie unter allen Spielern steht. Da die Rangliste auf der Basis von Nullen erstellt wird, ergibt *ZREVRANK* eine 1 für June, die an zweiter Stelle steht.  

```
ZREVRANK leaderboard June 
1
```

Weitere Informationen finden Sie in der [Valkey-Dokumentation](https://valkey.io/topics/sorted-sets/) zu sortierten Sets.

## Nachrichtenübermittlung (Pub/Sub)
<a name="elasticache-for-redis-use-cases-messaging"></a>

Wenn Sie eine E-Mail-Nachricht versenden, senden Sie sie an mindestens einen angegebenen Empfänger. Im Pub/Sub-Paradigma von Valkey und Redis OSS senden Sie eine Nachricht an einen bestimmten Kanal, ohne zu wissen, wer, wenn überhaupt, sie empfängt. Die Nachricht wird nur an die Personen gesendet, die den Kanal abonniert haben. Angenommen, Sie haben etwa den *news.sports.golf*-Channel abonniert. Sie und alle anderen, die den Kanal *news.sports.golf* abonniert haben, erhalten alle auf *news.sports.golf* veröffentlichten Nachrichten.

Die Pub/Sub-Funktionalität hat nichts mit einem Schlüsselraum zu tun. Daher gibt es auf keinem Level Beeinträchtigungen. In der folgenden Abbildung finden Sie eine Abbildung des ElastiCache Messagings mit Valkey und Redis OSS.

![\[\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/ElastiCache-Redis-PubSub.png)


### Abonnieren
<a name="elasticache-use-cases-messaging-subscribing"></a>

Um Nachrichten in einem Kanal zu erhalten, abonnieren Sie den Kanal. Sie können einen einzelnen Channel, mehrere spezielle Channels oder alle Channels, die einem Muster entsprechen, abonnieren. Um ein Abonnement zu kündigen, melden Sie sich von dem Kanal ab, den Sie abonniert haben. Wenn Sie sich mit Hilfe eines Musterabgleichs angemeldet haben, können Sie sich auch mit demselben Muster wieder abmelden, das Sie zuvor verwendet haben.

**Example – Abonnement eines einzelnen Channels**  
Um einen einzelnen Channel zu abonnieren, verwenden Sie den SUBSCRIBE-Befehl unter Angabe des Channels, den Sie abonnieren möchten. Im folgenden Beispiel abonniert ein Client den Channel *news.sports.golf*.  

```
SUBSCRIBE news.sports.golf
```
Nach einer Weile kündigt der Client das Abonnement für den Channel mithilfe des UNSUBSCRIBE-Befehls unter Angabe des Channels, dessen Abonnement gekündigt werden soll.  

```
UNSUBSCRIBE news.sports.golf
```

**Example – Abonnement mehrerer ausgewählter Channels**  
Um mehrere bestimmte Channels zu abonnieren, listen Sie die Channels mit dem SUBSCRIBE-Befehl auf. Im folgenden Beispiel abonniert ein Client die Channels *news.sports.golf*, *news.sports.soccer* und *news.sports.skiing*.  

```
SUBSCRIBE news.sports.golf news.sports.soccer news.sports.skiing
```
Um ein Abonnement für einen bestimmten Kanal zu kündigen, verwenden Sie den Befehl UNSUBSCRIBE und geben Sie den Kanal an, von dem Sie sich abmelden möchten.  

```
UNSUBSCRIBE news.sports.golf
```
Um Abonnements für mehrere Kanäle zu kündigen, verwenden Sie den Befehl UNSUBSCRIBE und geben Sie die Kanäle an, die Sie abbestellen möchten.  

```
UNSUBSCRIBE news.sports.golf news.sports.soccer
```
Um alle Abonnements zu kündigen, verwenden Sie `UNSUBSCRIBE` und geben Sie jeden Kanal an. Oder verwenden Sie `UNSUBSCRIBE` ohne einen Kanal anzugeben.  

```
UNSUBSCRIBE news.sports.golf news.sports.soccer news.sports.skiing
```
oder  

```
UNSUBSCRIBE
```

**Example – Abonnements mithilfe von Musterabgleich**  
Clients können alle Channels abonnieren, die einem Muster entsprechen, indem sie den PSUBSCRIBE-Befehl verwenden.  
Im folgenden Beispiel abonniert ein Client alle Sport-Channels. Sie listen nicht alle Sportkanäle einzeln auf, wie Sie es bei `SUBSCRIBE` tun. Mit dem `PSUBSCRIBE`-Befehl verwenden Sie stattdessen den Mustervergleich.  

```
PSUBSCRIBE news.sports.*
```

**Example Kündigen von Abonnements**  
Um Abonnements für diese Channels zu kündigen, verwenden Sie den `PUNSUBSCRIBE`-Befehl.  

```
PUNSUBSCRIBE news.sports.*
```
+ Die Channel-Zeichenfolgen, die an einen [P]SUBSCRIBE-Befehl bzw. an den [P]UNSUBSCRIBE-Befehl gesendet werden, müssen übereinstimmen. `PSUBSCRIBE` zu *news.\$1* und `PUNSUBSCRIBE` von *news.sports.\$1* oder `UNSUBSCRIBE` von *news.sports.golf* ist nicht möglich.
+ `PSUBSCRIBE`und `PUNSUBSCRIBE` sind nicht für ElastiCache Serverless verfügbar.

### Veröffentlichen
<a name="elasticache-for-redis-use-cases-messaging-publishing"></a>

Um eine Nachricht an alle Abonnenten eines Kanals zu senden, verwenden Sie den `PUBLISH`-Befehl, wobei Sie den Kanal und die Nachricht angeben. Im folgenden Beispiel wird diese Nachricht veröffentlicht: "Es ist Samstag und sonnig. Ich fahre zu den Links.“ auf den *news.sports.golf*-Kanal.

```
PUBLISH news.sports.golf "It's Saturday and sunny. I'm headed to the links."
```

Ein Client kann nicht auf einem Kanal veröffentlichen, den er abonniert hat.

Weitere Informationen finden Sie unter [Pub/Sub](https://valkey.io/topics/pubsub) in der Valkey-Dokumentation.

## Empfehlungsdaten (Hashes)
<a name="elasticache-for-redis-use-cases-recommendations"></a>

Die Verwendung von INCR oder DECR in Valkey oder Redis OSS macht das Kompilieren von Empfehlungen einfach. Immer dann, wenn Benutzer ein Produkt "liken", erhöhen Sie einen *item:productID:like*-Zähler. Immer dann, wenn Benutzer ein Produkt ein "disliken", erhöhen Sie einen *item:productID:dislike*-Zähler. Mithilfe von Hashes können Sie auch eine Liste aller Personen führen, denen ein Produkt gefallen oder nicht gefallen hat.

**Example – Likes und Dislikes**  

```
INCR item:38923:likes
HSET item:38923:ratings Susan 1
INCR item:38923:dislikes
HSET item:38923:ratings Tommy -1
```

## Semantisches Caching für generative KI-Anwendungen
<a name="elasticache-for-redis-use-cases-semantic-caching"></a>

Der Betrieb generativer KI-Anwendungen in großem Maßstab kann aufgrund der Kosten und der Latenz, die mit Inferenzaufrufen für große Sprachmodelle verbunden sind, eine Herausforderung sein (). LLMs Sie können es ElastiCache für semantisches Caching in generativen KI-Anwendungen verwenden, wodurch Sie die Kosten und die Latenz von LLM-Inferenzaufrufen reduzieren können. Mit semantischem Caching können Sie eine zwischengespeicherte Antwort zurückgeben, indem Sie mithilfe eines vektorbasierten Abgleichs Ähnlichkeiten zwischen aktuellen und früheren Eingabeaufforderungen ermitteln. Wenn die Eingabeaufforderung eines Benutzers einer vorherigen Aufforderung semantisch ähnelt, wird eine zwischengespeicherte Antwort zurückgegeben, anstatt einen neuen LLM-Inferenzaufruf zu tätigen. Dadurch werden die Kosten für generative KI-Anwendungen gesenkt und schnellere Antworten bereitgestellt, die die Benutzererfahrung verbessern. Sie können steuern, welche Abfragen an den Cache weitergeleitet werden, indem Sie Ähnlichkeitsschwellenwerte für Eingabeaufforderungen konfigurieren und Tagfilter oder numerische Metadatenfilter anwenden.

Die Inline-Indexaktualisierungen in Echtzeit, die von Vector Search for bereitgestellt werden ElastiCache , stellen sicher, dass der Cache kontinuierlich aktualisiert wird, wenn Benutzeraufforderungen und LLM-Antworten eingehen. Diese Indizierung in Echtzeit ist entscheidend, um die Aktualität der zwischengespeicherten Ergebnisse und die Cache-Trefferquoten aufrechtzuerhalten, insbesondere bei hohem Datenverkehr. Darüber hinaus ElastiCache vereinfacht sie Operationen für das semantische Caching durch ausgereifte Cache-Primitive wie konfigurierbare Entfernungsstrategien pro Schlüssel TTLs, atomare Operationen und umfangreiche Datenstruktur- und Skriptunterstützung.

**Speicher für generative KI-Assistenten und -Agenten**

Sie können ElastiCache es verwenden, um personalisiertere, kontextsensivere Antworten zu geben, indem Sie Speichermechanismen implementieren, die sitzungsübergreifende Konversationsverläufe anzeigen. LLMs Das Konversationsgedächtnis ermöglicht generativen KI-Assistenten und -Agenten, vergangene Interaktionen zu speichern und zu nutzen, um Antworten zu personalisieren und die Relevanz zu verbessern. Das bloße Zusammenfassen aller vorherigen Interaktionen in der Aufforderung ist jedoch ineffektiv, da irrelevante zusätzliche Token die Kosten erhöhen, die Antwortqualität verschlechtern und das Risiko bergen, das Kontextfenster des LLM zu überschreiten. Stattdessen können Sie die Vektorsuche verwenden, um für jeden LLM-Aufruf nur die relevantesten Daten im Kontext abzurufen und bereitzustellen.

ElastiCache for Valkey bietet Integrationen mit Open-Source-Speicherschichten und bietet integrierte Konnektoren zum Speichern und Abrufen von Speichern für LLM-Anwendungen und -Agenten. Die Vektorsuche für ElastiCache ermöglicht schnelle Indexaktualisierungen, hält den Speicher auf dem neuesten Stand und macht neue Speicher sofort durchsuchbar. Die Vektorsuche mit niedriger Latenz ermöglicht eine schnelle Speichersuche, sodass sie im Online-Pfad jeder Anfrage implementiert werden kann, nicht nur bei Hintergrundaufgaben. Neben der Vektorsuche bietet ElastiCache for Valkey auch Caching-Primitive für Sitzungsstatus, Benutzereinstellungen und Feature-Flags und bietet so einen einzigen Dienst zum Speichern von kurzlebigen Sitzungszuständen und langfristigen „Erinnerungen“ in einem Datenspeicher. 

**Erweiterte Generierung (Retrieval Augmented Generation)**

RAG ist der Prozess der Bereitstellung LLMs von up-to-date Informationen, um die Relevanz der Antworten zu verbessern. RAG reduziert Halluzinationen und verbessert die Genauigkeit der Fakten, indem es die Ergebnisse auf realen Datenquellen stützt. RAG-Anwendungen verwenden die Vektorsuche, um semantisch relevante Inhalte aus einer Wissensdatenbank abzurufen. Die von bereitgestellte Vektorsuche mit niedriger Latenz ElastiCache eignet sich für die Implementierung von RAG in Workloads mit großen Datensätzen mit Millionen von Vektoren und mehr. Darüber hinaus ElastiCache eignet sich die Unterstützung für Online-Vektorindex-Updates für Assistenten mit Upload-Workflows, die sicherstellen müssen, dass alle hochgeladenen Daten sofort durchsucht werden können. RAG stellt in KI-Systemen für Agenturen sicher, dass die Agenten up-to-date über Informationen verfügen, um präzise Maßnahmen ergreifen zu können. Die Vektorsuche mit niedriger Latenz ist auch für RAG in agentischen KI-Systemen von entscheidender Bedeutung, bei denen eine einzelne Abfrage mehrere LLM-Aufrufe auslösen und die Latenz der zugrunde liegenden Vektorsuche erhöhen kann. 

Das folgende Diagramm zeigt eine Beispielarchitektur, mit ElastiCache der ein semantischer Cache, Speichermechanismen und RAG implementiert werden, um eine generative KI-Anwendung in der Produktion zu verbessern.

![\[Diagramm einer semantischen Suche, wie sie von einem generativen KI-Assistenten durchgeführt wird.\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/vector-search-gen-ai1.png)


**Semantische Suche**

Die Vektorsuche ruft die relevantesten Text-, Sprach-, Bild- oder Videodaten auf der Grundlage ähnlicher Bedeutungen oder Merkmale ab. Diese Funktion ermöglicht Anwendungen für maschinelles Lernen, die auf der Ähnlichkeitssuche in verschiedenen Datenmodalitäten basieren, darunter Empfehlungsmaschinen, Anomalieerkennungs-, Personalisierungs- und Wissensmanagementsysteme. Empfehlungssysteme verwenden Vektordarstellungen, um komplexe Muster im Nutzerverhalten und in den Artikelmerkmalen zu erfassen, sodass sie die relevantesten Inhalte vorschlagen können. Die Vektorsuche nach eignet sich gut für diese Anwendungen, da sie fast in Echtzeit aktualisiert ElastiCache wird und die Latenz gering ist. Sie ermöglicht Ähnlichkeitsvergleiche, die sofortige, hochrelevante Empfehlungen auf der Grundlage von Benutzerinteraktionen in Echtzeit liefern.

## ElastiCache Kundenreferenzen
<a name="elasticache-use-cases-testimonials"></a>

Weitere Informationen darüber, wie Unternehmen wie Airbnb, PBS, Esri und andere Amazon nutzen, ElastiCache um ihr Geschäft durch ein verbessertes Kundenerlebnis auszubauen, finden Sie unter [So nutzen andere](https://aws.amazon.com/elasticache/testimonials/) Amazon. ElastiCache

Sie können sich auch die [Tutorial-Videos](Tutorials.md#tutorial-videos) für weitere Anwendungsfälle von ElastiCache Kunden ansehen.