Pour stocker des données, vous pouvez utiliser stocks de données avec le DataStoreService ou stocks de mémoire avec le 2>Class.MemoryStoreService2>.
Alternativement, vous pouvez également utiliser des types et des variables Lua pour stocker les données en mémoire dans Lua, sans utiliser les services de stockage de données ou de mémoire.
Lors de l'utilisation des magasins de données
Le DataStoreService stocke les données à long terme qui doivent durer entre les sessions, telles que la progression de l'utilisateur ou les articles de l'inventaire. Les magasins de données sont cohérents par expérience, afin que chaque serveur pour chaque lieu dans une expérience puisse accéder et modifier les mêmes données. Il existe deux types de magasins de données : les magasins standard et les magasins commandés. Les magasins de données standard peuvent stocker des données comme des nombres, des chaînes et des tables qui n'ont pas besoin d'être classées ou triées. Ces données sont stockées comme des paires de valeur clé, où chaque entrée est stockée sous une clé qui est unique dans son magasin de données et que vous pouvez récupérer, mettre à mise à jourou supprimer. Les magasins de données commandés ne peuvent stocker que des numéros. Chaque entrée est stockée sous une clé qui est unique dans son magasin de données et que vous pouvez récupérer, mise à jourà jour ou supprimer. Vous pouvez classer et trier ce données numériquement et le récupérer dans l'ordre ascendant ou descendant en fonction des valeurs numériques stockées. Pour plus d'informations, voir magasins de données commandés .
Répliques de données standardisées > | Répliques de données ordonnées | |
---|---|---|
Type de données | Numéros, chaînes, booleans et tables. | Seuls les chiffres. |
Cas d'utilisation communs | La progression de l'utilisateur, les articles de l'inventaire et les paramètres d'expérience. | Systèmes de classement en temps réel et persistants. Contrairement aux classements des mémoires, les données de ce classement sont permanentes. |
Version antérieure des sauvegardes | Gère automatiquement les versions précédentes de vos données pendant 30 jours. | Ne gère pas les versions précédentes de vos données. |
Lorsque utiliser les magasins de mémoire
Le MemoryStoreService est un service de haute puissance et de faible latence qui stocke les données temporaires qui doivent être mises à jour ou accédées fréquemment, telles que les classements mondiaux ou les files d'attente de matchmaking. Avec les magasins de mémoire, chaque serveur pour chaque lieu dans une expérience peut accéder et modifier les mêmes données rapidement et fréquemment. Les données dans un magasin de mémoire expire après une certain
Bien que les magasins de mémoire stockent temporairement des données, ils gèrent également des fonctionnalités permanentes comme un marketplacemondial. Le marché est permanent, mais les articles à vendre à l'intérieur ont une date d'expiration.
Stockage de mémoire > | |
---|---|
Type de données | Les numéros, les chaînes, les booleans et les tables qui n'ont pas besoin de persister pendant plus de 45 jours. |
Cas d'utilisation communs | Mise en relation basée sur la compétence, états des matchs pour les jeux multijoueurs, classements quotidiens et mensuels. |
Lorsque utiliser le stockage en mémoire dans Lua
Vous pouvez utiliser le stockage en mémoire dans Lua pour stocker temporairement des données qui doivent être accédées avec une latence minimale et sans le coût de faire des appels de service externes à des magasins de données ou des mémoires. Il n'y a pas de pas supplémentaires requis pour configurer le stockage en mémoire comme il est déjà construit par défaut dans Lua.
Stockage en mémoire dans Lua | ||
---|---|---|
Type de données | Numéros, chaînes, booleans et tables. | |
Cas d'utilisation communs | Les données qui ne sont pertinentes qu'à une session unique et que vous pouvez mettre à jour instantanément sans vous inquiéter de la persistance. | Exemple : Les buffs actifs, les points temporaires et la progression de quête en cours qui se réinitialise lorsque l'utilisateur quitte l'expérience. |
Les valeurs qui changent fréquemment, comme les comptoirs, les temporisateurs ou les drapeaux d'état. | Exemple : Barre de santé d'un utilisateur qui se met à jour à chaque coup. | |
Évitez les restrictions de limite de taux pour les opérations de haute fréquence dans de grandes expériences actives. | Exemple : Une expérience avec des dizaines d'utilisateurs qui interagissent avec le même objet. | |
Les données qui sous-tendent la logique du jeu, comme les variables temporaires ou les états des power-ups où l'accès rapide est essentiel. | Exemple : l'état d'attaque actuel d'un utilisateur ou la santé actuelle d'un ennemi, qui doit être accessible instantanément et sans le délai associé à l'appel d'autres services externes, tels que des magasins de données ou de la mémoire. | |
Les interactions multijoueurs qui ne fonctionnent que dans un seul serveur. | Exemple : Un objectif partagé dans une expérience de mission en coopération. |