Cette page fait référence au paramètre
persist_forqui fait partie d'un modèle.
persist_forpeut également être utilisé dans une exploration, comme décrit sur la page de documentation du paramètrepersist_for(pour les explorations).
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
persist_for: "5 hours"
|
Hiérarchie
persist_for |
Valeur par défaut
1 heure
Acceptation
Chaîne contenant un nombre entier suivi d'une période (en secondes, minutes ou heures)
|
Définition
Envisagez plutôt 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 un utilisateur exécute exactement la même requête (tout doit être identique, y compris des éléments mineurs comme la limite de lignes) 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.
Les explorations sont également compatibles avec persist_for. Lorsqu'une exploration et son modèle ont tous deux des paramètres persist_for, la valeur définie pour l'exploration est 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 :
persist_for: "2 hours"
Ajustez la durée du cache sur 30 minutes :
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 :
persist_for: "0 seconds"
Éléments à prendre en compte
Les données sont toujours écrites dans le cache.
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, supposons qu'une requête soit exécutée le 1er janvier à midi, que de nouvelles données soient importées le matin du 2 janvier, puis que la requête soit 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 les groupes de données et
persist_with, comme décrit sur la page de documentation 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. Si vous souhaitez prémettre en cache un Look spécifique, vous pouvez l'enregistrer et le planifier.