Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Petunjuk kueri berikut dapat digunakan saat cache hasil kueri diaktifkan.
Petunjuk kueri Gremlin enableResultCache
Petunjuk enableResultCache
kueri dengan nilai true
menyebabkan hasil kueri dikembalikan dari cache jika sudah di-cache. Jika tidak, ia mengembalikan hasil baru dan menyimpannya di cache hingga dihapus dari cache. Misalnya:
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 inifalse
, 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
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 sebelumenableResultCacheWithTTL
menghasilkan hasil baru dan menyimpannya untuk TTL yang ditentukannya.Jika hasil sebelumnya di-cache menggunakan
enableResultCachewithTTL
, TTL sebelumnya harus kedaluwarsa terlebih dahulu sebelumenableResultCacheWithTTL
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
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
(atauenableResultCacheWithTTL
) 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
Petunjuk invalidateResultCache
kueri dapat mengambil false
nilai true
atau. true
Nilai menyebabkan semua hasil dalam cache hasil dihapus. Misalnya:
g.with('Neptune#invalidateResultCache', true) .V().has('genre','drama').in('likes')
Contoh query di atas tidak menyebabkan hasilnya di-cache. Anda dapat menyertakan enableResultCache
(atauenableResultCacheWithTTL
) 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
Petunjuk numResultsCached
kueri hanya dapat digunakan dengan kueri yang berisiiterate()
, 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
Petunjuk noCacheExceptions
kueri dapat mengambil false
nilai true
atau. true
Nilai menyebabkan pengecualian apa pun yang terkait dengan cache hasil ditekan. Misalnya:
g.with('Neptune#enableResultCache', true) .with('Neptune#noCacheExceptions', true) .V().has('genre','drama').in('likes')
Secara khusus, ini menekanQueryLimitExceededException
, yang dinaikkan jika hasil kueri terlalu besar untuk dimasukkan ke dalam cache hasil.