

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.

# Gremlin-Abfragehinweise für die Verwendung des Ergebniscaches
<a name="gremlin-query-hints-results-cache"></a>

Die folgenden Abfragehinweise können verwendet werden, wenn der [Abfrage-Ergebniscache](gremlin-results-cache.md) aktiviert ist.

## Gremlin-Abfragehinweis `enableResultCache`
<a name="gremlin-query-hints-results-cache-enableResultCache"></a>

Der Abfragehinweis `enableResultCache` mit dem Wert `true` bewirkt die Rückgabe von Abfrageergebnissen aus dem Cache, wenn sie sich bereits im Cache befinden. Andernfalls werden neue Ergebnisse zurückgegeben und zwischengespeichert, bis sie aus dem Cache gelöscht werden. Beispiel:

```
g.with('Neptune#enableResultCache', true)
 .V().has('genre','drama').in('likes')
```

Später können Sie auf die zwischengespeicherten Ergebnisse zugreifen, indem Sie genau dieselbe Abfrage erneut ausführen.

Wenn der Wert dieses Abfragehinweises `false` ist oder nicht vorhanden ist, werden die Abfrageergebnisse nicht zwischengespeichert. Wenn Sie den Wert auf `false` festlegen, werden vorhandene zwischengespeicherte Ergebnisse jedoch nicht gelöscht. Verwenden Sie die Hinweise `invalidateResultCache` oder `invalidateResultCachekey`, um zwischengespeicherte Ergebnisse zu löschen.

## Gremlin-Abfragehinweis `enableResultCacheWithTTL`
<a name="gremlin-query-hints-results-cache-enableResultCacheWithTTL"></a>

Der Abfragehinweis `enableResultCacheWithTTL` gibt auch zwischengespeicherte Ergebnisse zurück, wenn vorhanden, ohne dass sich dies auf die TTL der Ergebnisse im Cache auswirkt. Wenn es aktuell keine zwischengespeicherten Ergebnisse gibt, gibt die Abfrage neue Ergebnisse zurück und speichert sie für die im Abfragehinweis `enableResultCacheWithTTL` angegebene Dauer (Time To Live, TTL) im Cache. Diese Dauer wird in Sekunden angegeben. Die folgende Abfrage gibt beispielsweise eine Dauer von sechzig Sekunden an:

```
g.with('Neptune#enableResultCacheWithTTL', 60)
 .V().has('genre','drama').in('likes')
```

Bevor die 60 Sekunden vorbei time-to-live sind, können Sie dieselbe Abfrage (hier`g.V().has('genre','drama').in('likes')`) mit dem `enableResultCache` oder dem `enableResultCacheWithTTL` Abfragehinweis verwenden, um auf die zwischengespeicherten Ergebnisse zuzugreifen.

**Anmerkung**  
Die mit `enableResultCacheWithTTL` angegebene Dauer wirkt sich nicht auf bereits zwischengespeicherte Ergebnisse aus.  
Wenn Ergebnisse zuvor mit `enableResultCache` zwischengespeichert wurden, muss der Cache zunächst explizit geleert werden, bevor `enableResultCacheWithTTL` neue Ergebnisse generiert und für die angegebene TTL zwischenspeichert.
Wenn Ergebnisse zuvor mit `enableResultCachewithTTL` zwischengespeichert wurden, muss die vorherige TTL zunächst ablaufen, bevor `enableResultCacheWithTTL` neue Ergebnisse generiert und für die angegebene TTL zwischenspeichert.

Nach Ablauf der Dauer werden die zwischengespeicherten Ergebnisse für die Abfrage gelöscht und eine folgende Instance derselben Abfrage gibt neue Ergebnisse zurück. Wenn `enableResultCacheWithTTL` an diese folgende Abfrage angefügt ist, werden die neuen Ergebnisse mit der angegebenen TTL zwischengespeichert.

## Gremlin-Abfragehinweis `invalidateResultCacheKey`
<a name="gremlin-query-hints-results-cache-invalidateResultCacheKey"></a>

Der Abfragehinweis `invalidateResultCacheKey` kann den Wert `true` oder `false` annehmen. Der Wert `true` bewirkt, dass die zwischengespeicherten Ergebnisse für die Abfrage gelöscht werden, an die `invalidateResultCacheKey` angefügt ist. Das folgende Beispiel führt beispielsweise dazu, dass die für den Abfrageschlüssel `g.V().has('genre','drama').in('likes')` zwischengespeicherten Ergebnisse gelöscht werden:

```
g.with('Neptune#invalidateResultCacheKey', true)
 .V().has('genre','drama').in('likes')
```

Die Beispielabfrage oben bewirkt keine Zwischenspeicherung der neuen Ergebnisse. Sie können `enableResultCache` (oder`enableResultCacheWithTTL`) in dieselbe Abfrage einfügen, wenn Sie die neuen Ergebnisse nach dem Löschen der vorhandenen zwischengespeicherten Ergebnisse zwischenspeichern möchten:

```
g.with('Neptune#enableResultCache', true)
 .with('Neptune#invalidateResultCacheKey', true)
 .V().has('genre','drama').in('likes')
```

## Gremlin-Abfragehinweis `invalidateResultCache`
<a name="gremlin-query-hints-results-cache-invalidateResultCache"></a>

Der Abfragehinweis `invalidateResultCache` kann den Wert `true` oder `false` annehmen. Der Wert `true` bewirkt die Löschung aller Ergebnisse im Ergebniscache. Beispiel:

```
g.with('Neptune#invalidateResultCache', true)
 .V().has('genre','drama').in('likes')
```

Die Beispielabfrage oben bewirkt keine Zwischenspeicherung der Ergebnisse. Sie können `enableResultCache` (oder`enableResultCacheWithTTL`) in dieselbe Abfrage einfügen, wenn Sie nach dem vollständigen Leeren des vorhandenen Cache neue Ergebnisse zwischenspeichern möchten:

```
g.with('Neptune#enableResultCache', true)
 .with('Neptune#invalidateResultCache', true)
 .V().has('genre','drama').in('likes')
```

## Gremlin-Abfragehinweis `numResultsCached`
<a name="gremlin-query-hints-results-cache-numResultsCached"></a>

Der Abfragehinweis `numResultsCached` kann nur für Abfragen verwendet werden, die `iterate()` enthalten. Er gibt die maximale Anzahl von Ergebnissen an, die für die Abfrage zwischengespeichert werden sollen, an die er angefügt ist. Die Ergebnisse, die zwischengespeichert werden, wenn `numResultsCached` vorhanden sind, werden nicht zurückgegeben, sondern lediglich zwischengespeichert.

Die folgende Abfrage gibt beispielsweise an, dass bis zu 100 ihrer Ergebnisse zwischengespeichert werden sollen, aber keines dieser zwischengespeicherten Ergebnisse zurückgegeben werden soll:

```
g.with('Neptune#enableResultCache', true)
 .with('Neptune#numResultsCached', 100)
 .V().has('genre','drama').in('likes').iterate()
```

Sie können dann eine Abfrage wie die folgende verwenden, um einen Bereich der zwischengespeicherten Ergebnisse (hier die ersten zehn) abzurufen:

```
g.with('Neptune#enableResultCache', true)
 .with('Neptune#numResultsCached', 100)
 .V().has('genre','drama').in('likes').range(0, 10)
```

## Gremlin-Abfragehinweis `noCacheExceptions`
<a name="gremlin-query-hints-results-cache-noCacheExceptions"></a>

Der Abfragehinweis `noCacheExceptions` kann den Wert `true` oder `false` annehmen. Der Wert `true` bewirkt, dass alle Ausnahmen für den Ergebniscache unterdrückt werden. Beispiel:

```
g.with('Neptune#enableResultCache', true)
 .with('Neptune#noCacheExceptions', true)
 .V().has('genre','drama').in('likes')
```

Insbesondere unterdrückt dies die Ausnahme`QueryLimitExceededException`, die ausgelöst wird, wenn die Ergebnisse einer Abfrage zu groß für den Ergebniscache sind.