DataStoreService

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible
Service
Non répliqué

DataStoreService expose des méthodes pour obtenir GlobalDataStore et OrderedDataStore des objets.Les magasins de données ne peuvent être accessés que par les serveurs de jeu, vous ne pouvez donc utiliser que DataStoreService dans un Script ou un ModuleScript qui est utilisé par un Script .

Voir magasins de données pour un guide complet sur la structure des données, la gestion, la gestion des erreurs, etc.

Échantillons de code

This code sample prints the request budget for all data store request types.

DataStore Budget

local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end

Résumé

Propriétés

  • Non répliqué
    Sécurité des utilisateurs locaux
    Lecture parallèle

    Définit si les fonctions de stockage de données doivent automatiquement réessayer ou non.DataStoreService ne respecte pas cette propriété car la réessai automatique a été désactivée pour des raisons techniques.Vous devez donc mettre en œuvre des systèmes pour réessayer les opérations vous-même.

Méthodes

Propriétés

AutomaticRetry

Non répliqué
Sécurité des utilisateurs locaux
Lecture parallèle

Définit si les fonctions de stockage de données doivent automatiquement réessayer ou non.

DataStoreService ne respecte pas cette propriété car la réessai automatique a été désactivée pour des raisons techniques.Vous devez donc mettre en œuvre des systèmes pour réessayer les opérations vous-même.Il est possible que la réessai automatique soit à nouveau activée dans le futur.

Méthodes

GetDataStore

Cette fonction crée une instance DataStore avec le nom et la portée fournis.Les appels ultérieurs à cette méthode avec le même nom/scope retourneront le même objet.

L'utilisation du paramètre scope restreindra les opérations à cette portée en préfixant automatiquement la portée aux clés dans toutes les opérations effectuées sur le boutiquede données.Cette fonction accepte également une instance optionnelle DataStoreOptions qui inclut des options pour activer AllScopes.Voir Versioning, listing, et caching pour les détails sur la portée.

Paramètres

name: string

Nom du boutiquede données.

Valeur par défaut : ""
scope: string

(Facultatif) Une chaîne spécifiant la portée.

Valeur par défaut : "global"
options: Instance

(Facultatif) Une instance A DataStoreOptions pour activer les fonctionnalités expérimentales et les fonctionnalités de l'API v2.

Valeur par défaut : "nil"

Retours

Une instance DataStore avec le nom fourni et la portée facultative.

GetGlobalDataStore

Cette fonction renvoie par défaut le GlobalDataStore .Si vous voulez accéder à un stock de données spécifique nommé au lieu de cela, vous devez utiliser la fonction GetDataStore().

Notez que le DataStore retourné par cette fonction utilise toujours la portée u . Voir magasins de données pour les détails sur la portée.


Retours

Échantillons de code

The following example retrieves a default data store instance which behaves like a regular Instance. Since a GlobalDataStore is an Instance, functions such as GlobalDataStore:GetChildren() will execute without error.

Get GlobalDataStore Instance

local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)

GetOrderedDataStore

Cette méthode renvoie un OrderedDataStore , semblable à la façon dont GetDataStore() fait avec GlobalDataStores .Les appels ultérieurs à cette méthode avec le même nom/scope retourneront le même objet.

Paramètres

name: string
Valeur par défaut : ""
scope: string
Valeur par défaut : "global"

Retours

Échantillons de code

This code sample demonstrates usage of an OrderedDataStore and pages.

OrderedDataStore Basics

local DataStoreService = game:GetService("DataStoreService")
local pointsStore = DataStoreService:GetOrderedDataStore("Points")
local function printTopTenPlayers()
local isAscending = false
local pageSize = 10
local pages = pointsStore:GetSortedAsync(isAscending, pageSize)
local topTen = pages:GetCurrentPage()
-- The data in 'topTen' is stored with the index being the index on the page
-- For each item, 'data.key' is the key in the OrderedDataStore and 'data.value' is the value
for rank, data in ipairs(topTen) do
local name = data.key
local points = data.value
print(name .. " is ranked #" .. rank .. " with " .. points .. "points")
end
-- Potentially load the next page...
--pages:AdvanceToNextPageAsync()
end
-- Create some data
pointsStore:SetAsync("Alex", 55)
pointsStore:SetAsync("Charley", 32)
pointsStore:SetAsync("Sydney", 68)
-- Display the top ten players
printTopTenPlayers()

GetRequestBudgetForRequestType

Cette fonction renvoie le nombre de demandes de stockage de données que le lieu actuel peut faire en fonction du Enum.DataStoreRequestType.Toutes les demandes qui dépassent ce budget sont soumises à un étranglement.Il est recommandé de surveiller et d'ajuster la fréquence des demandes de stockage de données en utilisant cette fonction.

Paramètres

Valeur par défaut : ""

Retours

Échantillons de code

Print Request Budget

local DataStoreService = game:GetService("DataStoreService")
local globalStore = DataStoreService:GetGlobalDataStore()
local function printBudget()
local budget = DataStoreService:GetRequestBudgetForRequestType(Enum.DataStoreRequestType.SetIncrementAsync)
print("Current set/increment budget:", budget)
end
for i = 1, 5 do
local key = "key" .. i
local success, err = pcall(function()
globalStore:SetAsync(key, true)
end)
if success then
printBudget()
else
print(err)
end
end

ListDataStoresAsync

Rendement

Retourne un objet DataStoreListingPages pour effectuer une liste à travers tous les magasins de données de l'expérience.Il accepte un paramètre facultatif prefix optionnel pour localiser uniquement les magasins de données dont les noms commencent par le préfixe fourni.

Seuls les magasins de données contenant au moins un objet seront listés via cette fonction.

Paramètres

prefix: string

(Facultatif) Préfixe pour énumérer les magasins de données qui commencent par le préfixe donné.

Valeur par défaut : ""
pageSize: number

(Facultatif) Nombre d'éléments à retourner dans chaque page.Si aucune valeur n'est donnée, le moteur envoie une valeur par défaut de 0 au service Web de la base de données, qui à son tour défaut à 32 éléments par page.

Valeur par défaut : 0
cursor: string

(Facultatif) Cursor pour poursuivre l'itération.

Valeur par défaut : ""

Retours

DataStoreListingPages instance contenant DataStoreInfo instances qui fournissent des détails tels que le nom, le temps de création et le temps de la dernière mise à jour.

Évènements