persist_for (pour les modèles)

Cette page fait référence au persist_for paramètre qui fait partie d'un modèle.

persist_for peut également être utilisé dans une exploration, comme décrit sur la page de documentation du paramètre persist_for (pour les explorations).

persist_for peut également être utilisé dans une table dérivée, comme décrit sur la page de documentation du paramètre persist_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 entier suivi d'une période (secondes, minutes ou heures)

Définition

Envisagez plutôt d'utiliser un datagroup et persist_with, comme décrit sur la page de documentation Mettre en cache les 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 mis en 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 quelqu'un exécute exactement la même requête (tout doit être identique, y compris les éléments mineurs tels que 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 Mettre en cache les requêtes.

Les explorations sont également compatibles avec persist_for. Lorsqu'une exploration et son modèle comportent 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.

À partir d'une exploration, vous pouvez voir si une requête a été renvoyée à partir du 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 Mettre en cache les requêtes.

Exemples

Ajuster la durée de mise en cache à deux heures :

persist_for: "2 hours"

Ajuster la durée de mise en cache à 30 minutes :

persist_for: "30 minutes"

Désactiver 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 nécessite le cache disque pour les processus internes. Vos données chiffrées sont donc toujours écrites dans le cache, même lorsque persist_for est défini sur 0 seconds. Une fois écrites dans le cache, les données sont signalées pour suppression, mais peuvent rester jusqu'à 10 minutes sur le disque. Pour en savoir plus, consultez la page de documentation Mettre en cache les 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 d'analyse. Parfois, elles estiment qu'il est inutile d'exécuter des requêtes actualisées si les données ne sont pas mises à jour en permanence. Elles définissent donc la durée de mise en cache sur 24 heures (par exemple, persist_for: 24 hours). Toutefois, cela n'empêchera pas les utilisateurs d'obtenir des données plus anciennes que la dernière actualisation.

Supposons, par exemple, qu'une requête soit exécutée le 1er janvier à midi, que de nouvelles données soient importées le 2 janvier au matin, puis que la requête soit exécutée à nouveau le 2 janvier à midi. Étant donné que la requête a été exécutée dans la fenêtre 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 des groupes de données et persist_with, comme décrit sur la page de documentation Mettre en cache les requêtes.

Les Looks programmé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 programmer.