DataStoreService
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
DataStoreService expose des méthodes pour obtenir GlobalDataStore et OrderedDataStore objets. Les magasins de données ne peuvent être accessibles que par les serveurs de jeu, vous ne pouvez donc utiliser que 0> Class.DataStoreService0> dans
Voir magasins de données pour un guide en profondeur sur la structure des données, la gestion, le traitement des erreurs, etc.
Échantillons de code
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
Définit si les fonctions de stockage des données devraient automatiquement réessayer ou non. DataStoreService ne respecte pas cette propriété car la réessayer automatique a été désactivée en raison de raisons techniques. Ainsi, vous devez implémenter des systèmes pour réessayer des opérations.
Méthodes
Crée une instance DataStore avec le nom et le champ de vision fournis.
Renvoie la valeur par boutique.
Obtenez un OrderedDataStore donné un nom et une portée optionnelle.
Renvoie le nombre de demandes que le taperde requête donné peut faire.
Renvoie un objet DataStoreListingPages pour l'itération à travers toutes les données de l'expérience.
Propriétés
AutomaticRetry
Définit si les fonctions de stockage des données devraient automatiquement réessayer ou non.
DataStoreService ne respecte pas cette propriété car la réessayer automatique a été désactivée en raison de raisons techniques. Par conséquent, vous devez implémenter des systèmes pour réessayer des opérations vous-même. Il est possible que la réessayer 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 suivants à cette méthode avec le même nom/portée retourneront le même objet.
L'utilisation du paramètre scope restreindra les opérations à ce scope en automatiquement suspendant le scope aux clés dans toutes les opérations effectuées sur le data boutique. Cette fonction accepte également une instance facultative DataStoreOptions qui inclut des options pour activer AllScopes. Voir 1> Data Stores1> pour plus de détails sur le
Paramètres
Nom du boutiquede données.
(Facultatif) une chaîne spécifiant la portée.
(Facultatif) A DataStoreOptions instance pour activer les fonctionnalités expérimentales et les fonctionnalités de l'API v2.
Retours
GetGlobalDataStore
Cette fonction renvoie le GlobalDataStore par défaut. Si vous souhaitez accéder à un nommé stock de données spécifique, vous devriez utiliser la fonction GetDataStore().
Retours
Échantillons de code
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Cette méthode renvoie un OrderedDataStore, similaire à la façon dont GetDataStore() fait avec GlobalDataStores. Les appels suivants à cette méthode avec le même nom/scope renverront le même objet.
Paramètres
Retours
Échantillons de code
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 donné. Toutes les demandes faites qui dépassent ce budget sont soumises à un ralentissement. Le suivi et l'ajustement de la fréquence des demandes de stockage en utilisant cette fonction sont recommandés.
Paramètres
Retours
Échantillons de code
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
Retourne un objet DataStoreListingPages pour l'indexer dans tous les magasins de données de l'expérience. Il accepte un paramètre facultatif prefix pour ne localiser que 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
(Facultatif) Prefixe pour numériser les magasins de données qui commencent par le préfixe donné.
(Facultatif) Nombre d'articles à retourner sur chaque page. Par défaut, il s'agit de 32.
(Facultatif) Cursor pour continuer l'itération.
Retours
DataStoreListingPages instance contenant DataStoreInfo instances qui fournissent des détails tels que le nom, le temps de création et le temps de dernière mise à jour.