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 berikut dapat digunakan saat cache hasil kueri diaktifkan.
Gremlin mengaktifkan petunjuk kueri ResultCache
Petunjuk enableResultCache kueri dengan nilai true menyebabkan hasil kueri dikembalikan dari cache jika sudah di-cache. Jika tidak, itu mengembalikan hasil baru dan menyimpannya sampai 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 adalahfalse, atau jika tidak ada, hasil kueri tidak di-cache. Namun, mengaturnya ke false tidak menghapus hasil cache yang ada. Untuk menghapus hasil yang di-cache, gunakan invalidateResultCachekey petunjuk invalidateResultCache atau.
Gremlin mengaktifkan petunjuk kueri ResultCacheWithTTL
Petunjuk enableResultCacheWithTTL kueri juga mengembalikan hasil cache jika ada, tanpa mempengaruhi TTL hasil yang sudah ada di cache. Jika saat ini tidak ada hasil yang di-cache, kueri mengembalikan hasil baru dan menyimpannya dalam cache untuk waktu hidup (TTL) yang ditentukan oleh petunjuk ku enableResultCacheWithTTL eri. Waktu untuk hidup ditentukan dalam hitungan detik. Misalnya, kueri berikut menentukan waktu hidup enam puluh detik:
g.with('Neptune#enableResultCacheWithTTL', 60) .V().has('genre','drama').in('likes')
Sebelum waktu hidup 60 detik berakhir, Anda dapat menggunakan kueri yang sama (di sini,g.V().has('genre','drama').in('likes')) dengan petunjuk enableResultCache atau kueri untuk mengakses enableResultCacheWithTTL hasil yang di-cache.
catatan
Waktu hidup yang ditentukan enableResultCacheWithTTL tidak mempengaruhi hasil yang telah di-cache.
Jika hasil sebelumnya di-cache menggunakan
enableResultCache, cache harus terlebih dahulu dihapus secara eksplisit sebelumenableResultCacheWithTTLmenghasilkan hasil baru dan menyimpannya untuk TTL yang ditentukannya.Jika hasil sebelumnya di-cache menggunakan
enableResultCachewithTTL, TTL sebelumnya harus kedaluwarsa terlebih dahulu sebelumenableResultCacheWithTTLmenghasilkan hasil baru dan menyimpannya untuk TTL yang ditentukannya.
Setelah waktu hidup berlalu, hasil cache untuk kueri dihapus, dan instance berikutnya dari kueri yang sama kemudian mengembalikan hasil baru. Jika enableResultCacheWithTTL dilampirkan ke kueri berikutnya, hasil baru di-cache dengan TTL yang ditentukannya.
Gremlin mem batalkan petunjuk kueri ResultCacheKey
Petunjuk invalidateResultCacheKey kueri dapat mengambil false nilai true atau. trueNilai menyebabkan hasil cache untuk kueri yang invalidateResultCacheKey dilampirkan dihapus. Misalnya, contoh berikut menyebabkan hasil yang di-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 (atauenableResultCacheWithTTL) dalam kueri yang sama jika Anda ingin menyimpan hasil baru setelah menghapus yang di-cache yang ada:
g.with('Neptune#enableResultCache', true) .with('Neptune#invalidateResultCacheKey', true) .V().has('genre','drama').in('likes')
Gremlin mem batalkan petunjuk kueri ResultCache
Petunjuk invalidateResultCache kueri dapat mengambil false nilai true atau. trueNilai menyebabkan semua hasil dalam cache hasil dihapus. Contoh:
g.with('Neptune#invalidateResultCache', true) .V().has('genre','drama').in('likes')
Contoh kueri di atas tidak menyebabkan hasilnya di-cache. Anda dapat menyertakan enableResultCache (atauenableResultCacheWithTTL) dalam kueri yang sama jika Anda ingin menyimpan hasil baru setelah sepenuhnya menghapus cache yang ada:
g.with('Neptune#enableResultCache', true) .with('Neptune#invalidateResultCache', true) .V().has('genre','drama').in('likes')
Gremlin dalam petunjuk ku eri ResultsCached
Petunjuk numResultsCached kueri hanya dapat digunakan dengan kueri yang berisiiterate(), dan itu 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 menentukan 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 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)
Gremlin tidak ada petunjuk kueri CacheExceptions
Petunjuk noCacheExceptions kueri dapat mengambil false nilai true atau. trueNilai 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 menekanQueryLimitExceededException, yang dimunculkan jika hasil kueri terlalu besar untuk muat dalam cache hasil.