DataStoreService
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
DataStoreService esporre metodi per ottenere GlobalDataStore e OrderedDataStore oggetti.I depositi di dati possono essere accessibili solo dai server di gioco, quindi puoi accedere solo a DataStoreService all'interno di un Script o di un ModuleScript che viene utilizzato da un Script .
Vedi Magazzini di dati per una guida approfondita sulla struttura dei dati, sulla gestione, sulla gestione degli errori, ecc.
Campioni di codice
This code sample prints the request budget for all data store request types.
local DataStoreService = game:GetService("DataStoreService")
for _, enumItem in pairs(Enum.DataStoreRequestType:GetEnumItems()) do
print(enumItem.Name, DataStoreService:GetRequestBudgetForRequestType(enumItem))
end
Sommario
Proprietà
Imposta se le funzioni del data store dovrebbero riprovare automaticamente o meno.DataStoreService non rispetta questa proprietà perché il ri tentativo automatico è stato disabilitato per motivi tecnici.Pertanto, devi implementare sistemi per riprovare le operazioni tu stesso.
Metodi
Crea un'istanza DataStore con il nome e lo scopo forniti.
Restituisce il deposito di dati Negozio.
Ottieni un OrderedDataStore dato un nome e una scala opzionale.
Restituisce il numero di richieste che possono essere fatte dal inserisci / scrividi richiesta dato.
Restituisce un oggetto DataStoreListingPages per l'elencazione attraverso tutti i data store dell'esperienza.
Proprietà
AutomaticRetry
Imposta se le funzioni del data store dovrebbero riprovare automaticamente o meno.
DataStoreService non rispetta questa proprietà perché il ri tentativo automatico è stato disabilitato per motivi tecnici.Pertanto, devi implementare sistemi per riprovare le operazioni tu stesso.È possibile che il ri試 automatico venga nuovamente abilitato in futuro.
Metodi
GetDataStore
Questa funzione crea un'istanza DataStore con il nome e lo scopo forniti.Chiamate successive a questo metodo con lo stesso nome/ambito restituiranno lo stesso oggetto.
L'utilizzo del parametro scope limiterà le operazioni a quell'ambito inserendo automaticamente l'ambito alle chiavi in tutte le operazioni eseguite sul data Negozio.Questa funzione accetta anche un'istanza opzionale DataStoreOptions che include opzioni per l'attivazione di AllScopes .Vedi Versione, elencazione e memorizzazione in cache per i dettagli sulla portata.
Parametri
Nome del data Negozio.
(Opzionale) A stringa che specifica la portata.
(Opzionale) A un'istanza DataStoreOptions per abilitare le funzionalità sperimentali e le funzionalità dell'API v2.
Restituzioni
GetGlobalDataStore
Questa funzione restituisce il valore predefinito GlobalDataStore .Se vuoi accedere a uno specifico chiamato data store, dovresti usare la funzione GetDataStore().
Nota che il DataStore restituito da questa funzione utilizza sempre lo scope u . Vedi Magazzini di dati per i dettagli sullo scope.
Restituzioni
Campioni di codice
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.
local DataStoreService = game:GetService("DataStoreService")
local GlobalDataStore = DataStoreService:GetGlobalDataStore()
print(GlobalDataStore.Name)
GetOrderedDataStore
Questo metodo restituisce un OrderedDataStore , simile al modo in cui GetDataStore() fa con GlobalDataStores .Chiamate successive a questo metodo con lo stesso nome/ambito restituiranno lo stesso oggetto.
Parametri
Restituzioni
Campioni di codice
This code sample demonstrates usage of an OrderedDataStore and pages.
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
Questa funzione restituisce il numero di richieste di archiviazione dei dati che il luogo attuale può fare in base al Enum.DataStoreRequestType dato.Tutte le richieste effettuate che superano questo budget sono soggette a riduzione.Si consiglia di monitorare e regolare la frequenza delle richieste di archiviazione dei dati utilizzando questa funzione.
Parametri
Restituzioni
Campioni di codice
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
Restituisce un oggetto DataStoreListingPages per l'elencazione attraverso tutti i data store dell'esperienza.Accetta un parametro opzionale prefix opzionale per localizzare solo i depositi di dati i cui nomi iniziano con il prefisso fornito.
Solo i depositi di dati che contengono almeno un oggetto verranno elencati tramite questa funzione.
Parametri
(Opzionale) Prefix per enumerare i depositi di dati che iniziano con il prefisso specificato.
(Opzionale) Numero di oggetti da restituire in ogni pagina.Se non viene fornito alcun valore, il motore invia un valore predefinito di 0 al servizio web del deposito dati, che a sua volta predefinisce 32 elementi per pagina.
(Opzionale) Cursor per continuare l'iterazione.
Restituzioni
DataStoreListingPages istanza che contiene DataStoreInfo istanze che forniscono dettagli come nome, tempo di creazione e ultimo aggiornamento.