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 esporrà metodi per ottenere GlobalDataStore e OrderedDataStore oggetti. I datastore possono essere accessibili solo ai server di gioco, quindi puoi utilizzare solo 0> Class.DataStoreService0> all'

Vedi Data Stores per una guida in dettaglio sulla struttura dei dati, la gestione, l'handling degli errori, ecc.

Campioni di codice

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

    Imposta se le funzioni di memorizzazione dei dati dovrebbero riprovare automaticamente o no. DataStoreService non rispetta questa proprietà poiché la riprova automatica è stata disabilitata per motivi tecnici. Pertanto, devi implementare sistemi per riprovare le operazioni da solo.

Metodi

Proprietà

AutomaticRetry

Non Replicato
Lettura Parallela
Sicurezza Utente Locale

Imposta se le funzioni di archiviazione dei dati dovrebbero riprovare automaticamente o no.

DataStoreService non rispetta questa proprietà poiché il riprova automatico è stato disabilitato per motivi tecnici. Pertanto, devi implementare sistemi per riprovare le operazioni da solo. È possibile che il riprova automatico venga abilitato di nuovo in futuro.

Metodi

GetDataStore

Questa funzione crea un'istanza DataStore con il nome e lo scopo forniti. Le chiamate successive a questo metodo con lo stesso nome/scopo restituiranno lo stesso oggetto.

Usando il parametro scope restrizionerà le operazioni a quel range automaticamente prestando il range alla chiave in tutte le operazioni eseguite sul data Negozio. Questa funzione accetta anche un'istanza opzionale DataStoreOptions che include opzioni per abilitare AllScopes . Vedi 1> Data Store1> per i dettagli sullo range

Parametri

name: string

Nome del Negoziodi dati.

scope: string

(Opzionale) Una stringa che specifica lo scopo.

Valore predefinito: "global"
options: Instance

(Facoltativo) A DataStoreOptions instance to enable experimental features and v2 API features.

Valore predefinito: "nil"

Restituzioni

Un'istanza DataStore con nome e scala opzionale.

GetGlobalDataStore

Questa funzione restituisce il valore predefinito GlobalDataStore . Se vuoi accedere invece a un determinato nome store dei dati, devi usare la funzione GetDataStore().


Restituzioni

Campioni di codice

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 . Le chiamate successive a questo metodo con lo stesso nome/scopo restituiranno lo stesso oggetto.

Parametri

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

Restituzioni

Campioni di codice

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 memorizzazione dei dati che il luogo attuale può fare in base al Enum.DataStoreRequestType fornito. Tutte le richieste fatte che superano questo budget sono soggette a un'accelerazione. Il monitoraggio e l'aggiustamento della frequenza delle richieste di memorizzazione dei dati utilizzando questa funzione è raccomandato.

Parametri


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'elenco attraverso tutti i negozi di dati dell'esperienza. Accetta un parametro opzionale prefix per localizzare solo i negozi di dati i cui nomi iniziano con il prefisso fornito.

Solo i datastore che contengono almeno un oggetto saranno elencati tramite questa funzione.

Parametri

prefix: string

(Facoltativo)) Prefisso per elencare i magazzini di dati che iniziano con il prefisso fornito.

Valore predefinito: ""
pageSize: number

(Opzionale) Numero di oggetti da restituire in ogni pagina. Per impostazione predefinita 32.

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, creazione e l'ultimo aggiornamento.

Eventi