web-dev-qa-db-fra.com

À quoi sert la table key_value_expire?

Dans Drupal8, à quoi servent les données de la table key_value_expire? Cela peut-il être exclu d'une sauvegarde de base de données?

Je demande parce que, pendant le développement, je sauvegarde la base de données en utilisant "drush sql-dump --ordered-dump" et j'exclus les tables comme "cache *", mais après avoir apporté quelques modifications mineures au contenu d'un nœud/page (n'a pas créé de révision) et en vidant à nouveau la base de données, git diff dit que toutes les données de la table key_value_expire ont changé.

key_value_expire est l'une des plus grandes tables de Drupal, en termes de # de lignes de données, donc elle montera en flèche les exigences de stockage pour Git si les données de cette table changent complètement pour chaque modification mineure sur le site.

Existe-t-il également une explication détaillée des fonctionnalités/objectifs de chaque table Drupal?

Merci beaucoup d'avance.

5
kvjava1

À côté du cache de formulaire et de l'état de mise à jour, la table key_value_expire est principalement utilisée par le magasin temporaire privé et partagé. Vous y trouverez une bonne explication de la finalité de ces données:

class PrivateTempStore

Stocke et récupère des données temporaires pour un propriétaire donné.

Un PrivateTempStore peut être utilisé pour rendre des données temporaires sans cache disponibles pour toutes les demandes. Les données de PrivateTempStore sont stockées dans une collection clé/valeur. Les données PrivateTempStore expirent automatiquement après un délai donné.

PrivateTempStore est différent d'un cache, car les données qu'il contient ne sont pas encore enregistrées de manière permanente et ne peuvent donc pas être reconstruites. En règle générale, le PrivateTempStore peut être utilisé pour stocker le travail en cours qui est ensuite enregistré de manière permanente ailleurs, par exemple sauvegarde automatique des données, formulaires à plusieurs étapes ou modifications en cours d'une configuration complexe qui ne sont pas prêtes à être enregistrées.

Le PrivateTempStore diffère du SharedTempStore en ce que toutes les clés sont assurées d'être uniques pour un utilisateur particulier et les utilisateurs ne peuvent jamais partager de données. Si vous souhaitez pouvoir partager des données entre utilisateurs ou les utiliser pour le verrouillage, utilisez\Drupal\user\SharedTempStore.

Référence: https://api.drupal.org/api/drupal/core%21modules%21user%21src%21SharedTempStore.php/class/SharedTempStore/8.2.xhttps: // api.drupal.org/api/drupal/core!modules!user!src!PrivateTempStore.php/class/PrivateTempStore/8.2.x

6
4k4