As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Dicas de consulta do Gremlin para usar o cache de resultados
As dicas de consulta a seguir podem ser usadas quando o cache de resultados da consulta está habilitado.
Dica de consulta enableResultCache
do Gremlin
A dica de consulta enableResultCache
com um valor de true
fará com que os resultados da consulta sejam gerados do cache se já tiverem sido armazenados em cache. Caso contrário, ela gerará novos resultados e os armazena em cache até que sejam limpos do cache. Por exemplo:
g.with('Neptune#enableResultCache', true) .V().has('genre','drama').in('likes')
Posteriormente, é possível acessar os resultados em cache emitindo exatamente a mesma consulta novamente.
Se o valor dessa dica de consulta for false
, ou se não estiver presente, os resultados da consulta não serão armazenados em cache. No entanto, configurá-lo como false
não limpa os resultados existentes em cache. Para limpar os resultados em cache, use a dica invalidateResultCache
ou invalidateResultCachekey
.
Dica de consulta enableResultCacheWithTTL
do Gremlin
A dica de consulta enableResultCacheWithTTL
também gera resultados em cache, se houver, sem afetar o TTL dos resultados que já estão no cache. Se no momento não houver resultados em cache, a consulta gerará novos resultados e os armazenará em cache pelo tempo de vida (TTL) especificado pela dica de consulta enableResultCacheWithTTL
. Esse tempo de vida é especificado em segundos. Por exemplo, a seguinte consulta especifica um tempo de vida de sessenta segundos:
g.with('Neptune#enableResultCacheWithTTL', 60) .V().has('genre','drama').in('likes')
Antes que os 60 segundos time-to-live terminem, você pode usar a mesma consulta (aquig.V().has('genre','drama').in('likes')
) com a dica de consulta enableResultCache
ou com a dica de enableResultCacheWithTTL
consulta para acessar os resultados em cache.
nota
O tempo de vida especificado com enableResultCacheWithTTL
não afeta os resultados já armazenados em cache.
Se os resultados tiverem sido previamente armazenados em cache usando
enableResultCache
, o cache deverá primeiro ser explicitamente limpo antes que oenableResultCacheWithTTL
gere novos resultados e os armazene em cache para o TTL especificado.Se os resultados tiverem sido previamente armazenados em cache usando
enableResultCachewithTTL
, o TTL anterior deverá primeiro expirar antes que oenableResultCacheWithTTL
gere novos resultados e os armazene em cache para o TTL especificado.
Após o término do tempo de vida, os resultados em cache da consulta são apagados e uma instância subsequente da mesma consulta gera novos resultados. Se enableResultCacheWithTTL
estiver associado à consulta subsequente, os novos resultados serão armazenados em cache com o TTL especificado.
Dica de consulta invalidateResultCacheKey
do Gremlin
A dica de consulta invalidateResultCacheKey
pode ter um valor true
ou false
. Um valor true
faz com que os resultados em cache da consulta à qual invalidateResultCacheKey
está associada sejam apagados. Por exemplo, o seguinte exemplo faz com que os resultados armazenados em cache para a chave de consulta g.V().has('genre','drama').in('likes')
sejam apagados:
g.with('Neptune#invalidateResultCacheKey', true) .V().has('genre','drama').in('likes')
O exemplo de consulta acima não faz com que seus novos resultados sejam armazenados em cache. Será possível incluir enableResultCache
(ou enableResultCacheWithTTL
) na mesma consulta se quiser armazenar em cache os novos resultados depois de limpar os existentes em cache:
g.with('Neptune#enableResultCache', true) .with('Neptune#invalidateResultCacheKey', true) .V().has('genre','drama').in('likes')
Dica de consulta invalidateResultCache
do Gremlin
A dica de consulta invalidateResultCache
pode ter um valor true
ou false
. Um valor true
faz com que todos os resultados no cache de resultados sejam apagados. Por exemplo:
g.with('Neptune#invalidateResultCache', true) .V().has('genre','drama').in('likes')
O exemplo de consulta acima não faz com que seus resultados sejam armazenados em cache. Será possível incluir enableResultCache
(ou enableResultCacheWithTTL
) na mesma consulta se quiser armazenar em cache os novos resultados depois de limpar completamente o cache existente:
g.with('Neptune#enableResultCache', true) .with('Neptune#invalidateResultCache', true) .V().has('genre','drama').in('likes')
Dica de consulta numResultsCached
do Gremlin
A dica de consulta numResultsCached
só pode ser usada com consultas que contenham iterate()
e especifica o número máximo de resultados a serem armazenados em cache para a consulta à qual está associada. Observe que os resultados armazenados em cache quando numResultsCached
está presente não são exibidos, apenas os armazenados em cache.
Por exemplo, a seguinte consulta especifica que até 100 dos resultados devem ser armazenados em cache, mas nenhum desses resultados deve ser gerado:
g.with('Neptune#enableResultCache', true) .with('Neptune#numResultsCached', 100) .V().has('genre','drama').in('likes').iterate()
Depois, você pode usar uma consulta como a seguinte para recuperar uma variedade de resultados em cache (aqui, os dez primeiros):
g.with('Neptune#enableResultCache', true) .with('Neptune#numResultsCached', 100) .V().has('genre','drama').in('likes').range(0, 10)
Dica de consulta noCacheExceptions
do Gremlin
A dica de consulta noCacheExceptions
pode ter um valor true
ou false
. Um valor true
faz com que todas as exceções relacionadas ao cache de resultados sejam suprimidas. Por exemplo:
g.with('Neptune#enableResultCache', true) .with('Neptune#noCacheExceptions', true) .V().has('genre','drama').in('likes')
Especificamente, isso suprime a QueryLimitExceededException
, que será gerada se os resultados de uma consulta forem grandes demais para caber no cache de resultados.