Cette page fait référence au paramètre
persist_forqui fait partie d'une exploration.
persist_forpeut également être utilisé dans un modèle, comme décrit sur la page de documentation du paramètrepersist_for(pour les modèles).
persist_forpeut également être utilisé dans une table dérivée, comme décrit sur la page de documentation du paramètrepersist_for(pour les tables dérivées).
Utilisation
explore: explore_name {
persist_for: "1 hour"
}
|
Hiérarchie
persist_for |
Valeur par défaut
Le paramètre persist_for du modèle
Acceptation
Chaîne contenant un nombre entier suivi d'une période (en secondes, minutes ou heures)
Règles spéciales
Un paramètre persist_for au niveau explore remplace le paramètre persist_for au niveau du modèle.
|
Définition
Pour une gestion plus robuste du cache, y compris pour synchroniser votre règle de mise en cache Looker avec le processus ETL (extraction, transformation et chargement) de votre base de données, envisagez d'utiliser
datagroupetpersist_with, comme décrit sur la page de documentation Mise en cache des requêtes.
persist_for vous permet de modifier la durée d'utilisation des résultats de requête mis en cache pour une exploration donnée. La durée de mise en cache par défaut dans Looker est d'une heure. Les résultats du cache sont stockés dans un fichier chiffré sur votre instance Looker.
Le mécanisme de mise en cache de Looker fonctionne comme suit : une fois qu'un utilisateur exécute une requête spécifique, le résultat de cette requête est mis en cache. Si exactement la même requête (tout doit être identique, y compris les limites de lignes, etc.) est exécutée à nouveau, dans un délai inférieur à l'intervalle spécifié par persist_for, les résultats mis en cache sont renvoyés. Sinon, une nouvelle requête est exécutée sur votre base de données.
Lorsque l'intervalle persist_for expire, les données sont supprimées du cache. Pour savoir combien de temps les données sont stockées dans le cache, consultez la page de documentation Mise en cache des requêtes.
Si persist_for est défini à la fois pour une exploration et son modèle, la valeur définie pour l'exploration sera prioritaire pour les requêtes basées sur cette exploration.
Dans une exploration, vous pouvez voir si une requête a été renvoyée depuis le cache ou forcer la génération de nouveaux résultats à partir de la base de données. Pour en savoir plus, consultez la page de documentation Mise en cache des requêtes.
Exemples
Ajustez la durée du cache sur deux heures :
explore: my_explore {
persist_for: "2 hours"
}
Ajustez la durée du cache sur 30 minutes :
explore: my_explore {
persist_for: "30 minutes"
}
Désactivez la mise en cache pour que les utilisateurs n'obtiennent jamais de résultats mis en cache pour une requête :
explore: my_explore {
persist_for: "0 seconds"
}
Éléments à prendre en compte
Lorsque persist_for est défini sur 0 seconds, les requêtes de vos utilisateurs ne récupèrent pas les données du cache. Toutefois, Looker a besoin du cache disque pour les processus internes. Vos données chiffrées seront donc toujours écrites dans le cache, même lorsque persist_for est défini sur 0 seconds. Une fois les données écrites dans le cache, elles sont marquées pour suppression, mais peuvent rester sur le disque pendant 10 minutes. Pour en savoir plus, consultez la page de documentation Mise en cache des requêtes.
persist_for ne correspond pas nécessairement à votre importation de données.
De nombreuses entreprises importent quotidiennement des données dans leur base de données analytiques. Parfois, ils estiment qu'il n'est pas utile d'exécuter des requêtes récentes si les données ne sont pas mises à jour en permanence. Ils définissent donc la durée du cache sur 24 heures (comme persist_for: 24 hours). Toutefois, cela n'empêchera pas les utilisateurs d'obtenir des données plus anciennes que la dernière actualisation.
Par exemple, une requête est exécutée le 1er janvier à midi, de nouvelles données sont importées le 2 janvier au matin, puis la requête est exécutée à nouveau le 2 janvier à midi. Comme la requête a été exécutée dans la période de 24 heures spécifiée par persist_for, les données du 1er janvier seront renvoyées, même si de nouvelles données ont été chargées le 2 janvier.
Si vous souhaitez que votre mise en cache soit alignée sur les importations de données, utilisez un groupe de données et
persist_with, comme décrit dans la documentation sur la mise en cache des requêtes.
Les Looks planifiés mettent en cache les résultats
Lorsqu'un Look programmé est exécuté, il crée un ensemble de résultats mis en cache de la même manière qu'une requête exécutée par un utilisateur. Pour prémettre en cache un Look spécifique, enregistrez-le et planifiez-le.