DataStoreService

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Non costruibile
Assistenza
Non Replicato

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.

DataStore Budget

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

Sommario

Proprietà

  • Non Replicato
    Sicurezza Utente Locale
    Lettura Parallela

    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

Proprietà

AutomaticRetry

Non Replicato
Sicurezza Utente Locale
Lettura Parallela

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

name: string

Nome del data Negozio.

Valore predefinito: ""
scope: string

(Opzionale) A stringa che specifica la portata.

Valore predefinito: "global"
options: Instance

(Opzionale) A un'istanza DataStoreOptions per abilitare le funzionalità sperimentali e le funzionalità dell'API v2.

Valore predefinito: "nil"

Restituzioni

Un'istanza DataStore con nome fornito e scopo opzionale.

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.

Get GlobalDataStore Instance

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

name: string
Valore predefinito: ""
scope: string
Valore predefinito: "global"

Restituzioni

Campioni di codice

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

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

Valore predefinito: ""

Restituzioni

Campioni di codice

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

Resa

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

prefix: string

(Opzionale) Prefix per enumerare i depositi di dati che iniziano con il prefisso specificato.

Valore predefinito: ""
pageSize: number

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

Valore predefinito: 0
cursor: string

(Opzionale) Cursor per continuare l'iterazione.

Valore predefinito: ""

Restituzioni

DataStoreListingPages istanza che contiene DataStoreInfo istanze che forniscono dettagli come nome, tempo di creazione e ultimo aggiornamento.

Eventi