GlobalDataStore
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Un GlobalDataStore espose funzioni per il salvataggio e il caricamento dei dati per il DataStoreService .
Vedi Data Stores per una guida in dettaglio sulla struttura dei dati, la gestione, l'handling degli errori, ecc.
I negozi di dati ordinati non supportano la versionizzazione e i metadati, quindi DataStoreKeyInfo è sempre nil per le chiavi in un OrderedDataStore . Se hai bisogno di Assistenzala versionizzazione e i metadati, usa un 1> Class.DataStore1> .
Sommario
Proprietà
Metodi
Restituisce il valore di una chiave in un determinato store di dati e un'esempioDataStoreKeyInfo .
- IncrementAsync(key : string,delta : number,userIds : Array,options : DataStoreIncrementOptions):Variant
Aumenta il valore di una chiave di un importo fornito (entrambi devono essere interi).
Rimuove la chiave specificata mentre conserva anche una versione accessibile.
Imposta il valore del data store per la chiave specificata.
Aggiorna il valore di una chiave con un nuovo valore dalla funzione richiamata specificata.
Proprietà
Metodi
GetAsync
Questa funzione restituisce il valore più recente della chiave fornita e un'esempioDataStoreKeyInfo . Se la chiave non esiste o se la versione più recente è stata contrassegnata come eliminata, entrambi i valori di restituzione saranno nil .
Le chiavi vengono memorizzate localmente per 4 secondi dopo la prima lettura. Un GlobalDataStore:GetAsync() chiamata in questi 4 secondi restituisce un valore dalla cache. Le modifiche apportate alla chiave da GlobalDataStore:SetAsync() o GlobalDataStore:UpdateAsync() applicano immediatamente e riavviano il timer di 4 secondi.
Per ottenere una versione specifica, come una versione prima della versione più recente, usa DataStore:GetVersionAsync() .
Parametri
Il nome chiave per il quale viene richiesto il valore. Se DataStoreOptions.AllScopes è stato impostato su true quando si accede al data store attraverso DataStoreService:GetDataStore(), questo nome chiave deve essere aggiunto con lo scopo originale come in "scope/key".
Restituzioni
Il valore dell'elemento nel data store con la chiave fornita e un'istanza DataStoreKeyInfo che include il numero di versione, la data e l'ora in cui la versione è stata creata e le funzioni per recuperare UserIds e le metadati.
IncrementAsync
Questa funzione incrementa il valore di una chiave della quantità fornita (entrambi devono essere interi).
OrderedDataStore non supporta la versionizzazione, quindi chiamare questo metodo su una chiave OrderedDataStore sostituirà il valore corrente con il valore incrementato e renderà le versioni precedenti non accessibili.
Parametri
Nome chiave per il quale il valore dovrebbe essere aggiornato. Se DataStoreOptions.AllScopes è stato impostato su true quando si accede al data store attraverso DataStoreService:GetDataStore(), questo nome chiave deve essere aggiunto con lo scopo originale come in "scope/key".
Importo per aumentare il valore corrente di.
(Opzionale) Una tabella di UserIds per associare con la chiave.
(Facoltativo) DataStoreIncrementOptions istanza che combina più parametri aggiuntivi come metadati personalizzati e consente una futura estensibilità.
Restituzioni
Il valore aggiornato dell'elemento nel data store con la chiave fornita.
RemoveAsync
Questa funzione contrassegna la chiave specificata come eliminata creando una nuova versione "tombstone" della chiave. Prima di questo, restituisce la versione più recente prima dell'invio della richiesta di rimozione.
Dopo che una chiave viene rimossa tramite questa funzione, GlobalDataStore:GetAsync() chiami per la chiave restituiranno nil . Le versioni più vecchie della chiave sono ancora accessibili tramite DataStore:ListVersionsAsync() e 1> Class.DataStore:GetVersionAsync()1>, supponendo che non siano scadute.
OrderedDataStore non supporta la versionizzazione, quindi chiamare RemoveAsync() su una chiave OrderedDataStore la eliminerà permanentemente.
Gli oggetti rimossi verranno permanentemente eliminati dopo 30 giorni.
Se i valori precedenti sono stati già eliminati tramite GlobalDataStore:RemoveAsync() o DataStore:RemoveVersionAsync() , la funzione restituirà nil , 1> nil1> per il valore e 4> Class.DataStoreKeyInfo4> per il parametro rispettivamente.
Parametri
Nome chiave da rimuovere. Se DataStoreOptions.AllScopes è stato impostato su vero quando si accede al data store attraverso DataStoreService:GetDataStore() , questo nome chiave deve essere aggiunto con lo scopo originale come in "scope/key".
Restituzioni
Il valore del data store prima della cancellazione e un'istanza DataStoreKeyInfo che include il numero di versione, la data e l'ora in cui la versione è stata creata e le funzioni per recuperare UserIds e metadati.
SetAsync
Questa funzione imposta il valore più recente, UserIds , e i metadati per la chiave fornita.
I valori nei datastore sono versionati, il che significa che GlobalDataStore:SetAsync() creerà una nuova versione ogni volta che viene chiamato. Le versioni precedenti possono essere accedute tramite DataStore:ListVersionsAsync() / DataStore:GetVersionAsync() per un massimo di 30 giorni, al quale punto vengono permanentemente eliminati.
OrderedDataStore non supporta la versionizzazione, quindi chiamare questo metodo su una chiave OrderedDataStore sovrascriverà il valore corrente e renderà le versioni precedenti non accessibili.
Le definizioni dei metadati devono sempre essere aggiornate con un valore, anche se non ci sono cambiamenti nel valore corrente; altrimenti il valore corrente verrà perso.
Qualsiasi stringa memorizzata in un data store deve essere valida UTF-8 . In UTF-8, i valori più grandi di 127 vengono utilizzati esclusivamente per l'encodifica di punti di codice multi-byte, quindi un singolo bit più grande di 127 non sarà valido UTF-8 e l'attempt GlobalDataStore:SetAsync() fallirà.
Imposta vs. Aggiornamento
GlobalDataStore:SetAsync() è la soluzione migliore per un aggiornamento rapido di una chiave specifica, e conta solo contro il limite di scrittura. Tuttavia, potrebbe causare una non coerenza dei dati se due server cercano di impostare la stessa chiave in contemporaneo. Class.GlobalDataStore:
Parametri
Nome della chiave per cui il valore deve essere Impostare. Se DataStoreOptions.AllScopes è stato impostato su true quando si accede al data store attraverso DataStoreService:GetDataStore(), questo nome della chiave deve essere aggiunto con lo scopo originale come in "scope/key".
Il valore che la chiave del data store verrà impostata.
Tavola di UserIds , altamente raccomandata per l'assistenza con il tracciamento/rimozione del GDPR.
(Facoltativo) DataStoreSetOptions istanza che consente la specificazione dei metadati sulla chiave.
Restituzioni
L'identificatore della versione appena creata. Può essere utilizzato per recuperare informazioni chiave utilizzando GetVersionAsync() o per rimuoverlo utilizzando RemoveVersionAsync() .
UpdateAsync
Questa funzione recupera il valore e i metadati di una chiave dal data store e li aggiorna con un nuovo valore determinato dalla funzione richiamata specificata attraverso il secondo parametro. Se la richiamata restituisce nil, l'operazione di write è annullata e il valore rimane inalterato.
Se l'aggiornamento ha successo, una nuova versione del valore verrà creata e le versioni precedenti saranno accessibili attraverso DataStore:ListVersionsAsync() e DataStore:GetVersionAsync() .
OrderedDataStore non supporta la versionizzazione, quindi chiamare questa funzione su una chiave OrderedDataStore sovrascriverà il valore corrente e renderà le versioni precedenti non accessibili.
In casi in cui un altro server di gioco ha aggiornato la chiave in breve periodo di tempo tra il recupero della chiave corrente e l'impostazione del suo valore, GlobalDataStore:UpdateAsync() chiamerà la funzione nuovamente, scartando il risultato della chiamata precedente. La funzione verrà chiamata il maggior numero di volte possibile fino a quando i dati non
Qualsiasi stringa memorizzata in un archivio di dati deve essere valida UTF-8 . In UTF-8, i valori più grandi di 127 vengono utilizzati esclusivamente per l'encodifica di punti di codice multi-byte, quindi un singolo bit più grande di 127 non sarà valido UTF-8 e l'attento GlobalDataStore:UpdateAsync() fallirà.
Imposta vs. Aggiornamento
GlobalDataStore:SetAsync() è la soluzione migliore per un aggiornamento rapido di una chiave specifica, e conta solo contro il limite di scrittura. Tuttavia, potrebbe causare una non coerenza dei dati se due server cercano di impostare la stessa chiave in contemporaneo. Class.GlobalDataStore:
Funzione di richiamata
La funzione callback accetta due argomenti:
- Valore corrente della chiave prima dell'Aggiornarmento.
- DataStoreKeyInfo istanza che contiene le informazioni sulla versione più recente (questo argomento può essere ignorato se non viene utilizzato il metadato).
A sua volta, la funzione callback restituisce fino a tre valori:
- Il nuovo valore da impostare per la chiave.
- Un array di UserIds per associare con la chiave. DataStoreKeyInfo:GetUserIds() dovrebbe essere restituito a meno che non siano cambiati gli ID esistenti; altrimenti tutti gli ID esistenti saranno cancellati.
- Una tabella Lua che contiene metadati per associare alla chiave. DataStoreKeyInfo:GetMetadata() dovrebbe essere restituita a meno che non venga cambiata la metadati esistente; altrimenti tutte le metadati esistenti verranno cancellate.
Se il callback restituisce nil invece, il server attuale smetterà di tentare di aggiornare la chiave.
La funzione di callback non può rendere, quindi non Library.task.wait() includere chiami come task.wait() .
Parametri
Nome chiave per il quale il valore dovrebbe essere aggiornato. Se DataStoreOptions.AllScopes è stato impostato su true quando si accede al data store attraverso DataStoreService:GetDataStore(), questo nome chiave deve essere aggiunto con lo scopo originale come in "scope/key".
Transform function that takes the current value and DataStoreKeyInfo as parameters and returns the new value along with optional UserIds and metadata.
Restituzioni
Il valore aggiornato dell'entry in the data store con il key e un'istanza DataStoreKeyInfo che include il numero di versione, la data e l'ora in cui la versione è stata creata e le funzioni per recuperare UserIds e metadati.