

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Petunjuk kueri Gremlin untuk menggunakan cache hasil
Petunjuk kueri cache hasil

Petunjuk kueri berikut dapat digunakan saat [cache hasil kueri](gremlin-results-cache.md) diaktifkan.

## Petunjuk kueri Gremlin `enableResultCache`
enableResultCache

Petunjuk `enableResultCache` kueri dengan nilai `true` menyebabkan hasil kueri dikembalikan dari cache jika sudah di-cache. Jika tidak, ia mengembalikan hasil baru dan men-cache mereka sampai waktu mereka dihapus dari cache. Contoh:

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

Kemudian, Anda dapat mengakses hasil cache dengan mengeluarkan kueri yang persis sama lagi.

Jika nilai petunjuk kueri ini`false`, atau jika tidak ada, hasil kueri tidak di-cache. Namun, menyetelnya ke `false` tidak menghapus hasil cache yang ada. Untuk menghapus hasil cache, gunakan `invalidateResultCachekey` petunjuk `invalidateResultCache` atau.

## Petunjuk kueri Gremlin `enableResultCacheWithTTL`
enableResultCachedenganTTL

Petunjuk `enableResultCacheWithTTL` kueri juga mengembalikan hasil cache jika ada, tanpa mempengaruhi TTL hasil yang sudah ada di cache. Jika saat ini tidak ada hasil cache, kueri mengembalikan hasil baru dan menyimpannya dalam cache untuk waktu hidup (TTL) yang ditentukan oleh petunjuk `enableResultCacheWithTTL` kueri. Waktu untuk hidup ditentukan dalam hitungan detik. Misalnya, kueri berikut menentukan waktu untuk hidup enam puluh detik:

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

Sebelum 60 detik time-to-live selesai, Anda dapat menggunakan kueri yang sama (di sini,`g.V().has('genre','drama').in('likes')`) dengan petunjuk `enableResultCache` atau `enableResultCacheWithTTL` kueri untuk mengakses hasil yang di-cache.

**catatan**  
Waktu untuk hidup ditentukan dengan `enableResultCacheWithTTL` tidak mempengaruhi hasil yang telah di-cache.  
Jika hasil sebelumnya di-cache menggunakan`enableResultCache`, cache harus terlebih dahulu dihapus secara eksplisit sebelum `enableResultCacheWithTTL` menghasilkan hasil baru dan menyimpannya untuk TTL yang ditentukannya.
Jika hasil sebelumnya di-cache menggunakan`enableResultCachewithTTL`, TTL sebelumnya harus kedaluwarsa terlebih dahulu sebelum `enableResultCacheWithTTL` menghasilkan hasil baru dan menyimpannya untuk TTL yang ditentukannya.

Setelah waktu untuk hidup berlalu, hasil cache untuk kueri dihapus, dan contoh berikutnya dari kueri yang sama kemudian mengembalikan hasil baru. Jika `enableResultCacheWithTTL` dilampirkan ke kueri berikutnya, hasil baru di-cache dengan TTL yang ditentukannya.

## Petunjuk kueri Gremlin `invalidateResultCacheKey`
invalidateResultCacheKunci

Petunjuk `invalidateResultCacheKey` kueri dapat mengambil `false` nilai `true` atau. `true`Nilai menyebabkan hasil cache untuk kueri yang `invalidateResultCacheKey` dilampirkan akan dihapus. Misalnya, contoh berikut menyebabkan hasil cache `g.V().has('genre','drama').in('likes')` untuk kunci kueri dihapus:

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

Contoh kueri di atas tidak menyebabkan hasil barunya di-cache. Anda dapat menyertakan `enableResultCache` (atau`enableResultCacheWithTTL`) dalam kueri yang sama jika Anda ingin menyimpan hasil baru setelah menghapus hasil cache yang ada:

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

## Petunjuk kueri Gremlin `invalidateResultCache`
invalidateResultCache

Petunjuk `invalidateResultCache` kueri dapat mengambil `false` nilai `true` atau. `true`Nilai menyebabkan semua hasil dalam cache hasil dihapus. Contoh:

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

Contoh query di atas tidak menyebabkan hasilnya di-cache. Anda dapat menyertakan `enableResultCache` (atau`enableResultCacheWithTTL`) dalam kueri yang sama jika Anda ingin menyimpan hasil baru setelah benar-benar menghapus cache yang ada:

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

## Petunjuk kueri Gremlin `numResultsCached`
numResultsCached

Petunjuk `numResultsCached` kueri hanya dapat digunakan dengan kueri yang berisi`iterate()`, dan menentukan jumlah maksimum hasil untuk cache untuk kueri yang dilampirkan. Perhatikan bahwa hasil yang di-cache saat `numResultsCached` ada tidak dikembalikan, hanya di-cache.

Misalnya, kueri berikut menetapkan bahwa hingga 100 hasilnya harus di-cache, tetapi tidak ada hasil cache yang dikembalikan:

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

Anda kemudian dapat menggunakan kueri seperti berikut ini untuk mengambil rentang hasil cache (di sini, sepuluh pertama):

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

## Petunjuk kueri Gremlin `noCacheExceptions`
noCacheExceptions

Petunjuk `noCacheExceptions` kueri dapat mengambil `false` nilai `true` atau. `true`Nilai menyebabkan pengecualian apa pun yang terkait dengan cache hasil ditekan. Contoh:

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

Secara khusus, ini menekan`QueryLimitExceededException`, yang dinaikkan jika hasil kueri terlalu besar untuk dimasukkan ke dalam cache hasil.