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 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

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 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

Propriétés

AutomaticRetry

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

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

name: string

Nom du boutiquede données.

scope: string

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

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

(Facultatif) A DataStoreOptions instance 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 un nom fourni et un champ d'application optionnel.

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

Get GlobalDataStore Instance

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

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

Retours

Échantillons de code

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 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

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 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

prefix: string

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

Valeur par défaut : ""
pageSize: number

(Facultatif) Nombre d'articles à retourner sur chaque page. Par défaut, il s'agit de 32.

Valeur par défaut : 0
cursor: string

(Facultatif) Cursor pour continuer 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 dernière mise à jour.

Évènements