Per archiviare i dati, puoi utilizzare depositi di dati con il DataStoreService o depositi di memoria con il MemoryStoreService.
In alternativa, puoi anche utilizzare i tipi e le variabili Luau per memorizzare i dati in memoria in Luau , senza utilizzare i servizi di archiviazione dei dati o della memoria.
Quando utilizzare i data store
Il DataStoreService memorizza dati a lungo termine che devono persistere tra le sessioni, come il progresso dell'utente o gli elementi dell'inventario.Gli store di dati sono coerenti per esperienza, quindi ogni server per ogni luogo all'interno di un'esperienza può accedere e modificare gli stessi dati.Esistono due tipi di archivi di dati: standard e ordinati. Magazzini di dati standard possono memorizzare dati come numeri, stringhe e tabelle che non hanno bisogno di essere classificati o ordinati.Questi dati vengono memorizzati come coppie chiave-valore, dove ciascuna entry viene memorizzata sotto una chiave unica nel suo store di dati e che puoi Recuperare, aggiornare o eliminare. Magazzini di dati ordinati possono memorizzare solo numeri.Ogni entry viene memorizzata sotto una chiave che è unica nel suo store di dati e che puoi Recuperare, Aggiornarmentoo Eliminare.Puoi classificare e ordinare questi dati numericamente e recuperarli in ordine crescente o decrescente in base ai valori numerici memorizzati.Per ulteriori informazioni, vedi Negozi di dati ordinati.
Negozi di dati standard | Negozi di dati ordinati | |
---|---|---|
Tipo di dati | Numeri, stringhe, booleani e tabelle. | Solo numeri. |
Use case comuni | Progresso utente, oggetti inventario e impostazioni esperienza. | Sistemi di classifica permanenti e leaderboard di tutti i tempi. A differenza dei leaderboard nei depositi di memoria, questi dati leaderboard sono permanenti. |
Backup della versione precedente | Gestisce automaticamente le versioni precedenti dei tuoi dati per 30 giorni. | Non gestisce le versioni precedenti dei tuoi dati. |
Quando utilizzare i depositi di memoria
Il MemoryStoreService è un servizio ad alto throughput e bassa latenza che memorizza dati temporanei che devono essere aggiornati o accessi frequentemente, come le classifiche globali o le code di matchmaking.Con i depositi di memoria, ogni server per ogni luogo all'interno di un'esperienza può accedere e modificare rapidamente e frequentemente gli stessi dati.I dati in un archivio di memoria scadono dopo un determinato periodo di tempo, che dura fino a 45 giorni.
Sebbene i negozi di memoria memorizzino dati temporanei, supportano anche funzionalità permanenti come un Marketplaceglobale.Il mercato è permanente, ma gli oggetti in vendita all'interno hanno una data di scadenza.
Magazzini di memoria | |
---|---|
Tipo di dati | Numeri, stringhe, booleani e tabelle che non hanno bisogno di persistere per più di 45 giorni. |
Use case comuni | Matchmaking basato sulle abilità, stati di match per giochi multiplayer, classifiche giornaliere e mensili. |
Quando utilizzare il storage in memoria in Luau
Puoi utilizzare il storage in memoria in Luau per archiviare dati temporanei che devono essere accessibili con una latenza minima e senza il costo di fare chiamate di servizio esterne ai depositi di dati o ai depositi di memoria.Non ci sono passaggi extra richiesti per configurare il storage in memoria poiché è già costruito per impostazione predefinita in Lua.
Memoria in-memory in Luau | ||
---|---|---|
Tipo di dati | Numeri, stringhe, booleani e tabelle. | |
Use case comuni | Dati rilevanti solo per una singola sessione del server e che puoi aggiornare istantaneamente senza preoccuparti di persistenza. | Esempio: Buff attivi, punti temporanei e progresso della missione in corso che si ripristina quando l'utente lascia l'esperienza. |
Valori che cambiano frequentemente, come contatori, timer o bandiere di stato. | Esempio: la barra della salute di un utente che si aggiorna ad ogni colpo. | |
Evitare le restrizioni del limite di tasso per le operazioni ad alta frequenza in grandi esperienze attive.: | Esempio: un'esperienza con decine di utenti che interagiscono con lo stesso oggetto. | |
Dati che guidano la logica del gioco, come variabili temporanee o stati di potenziamento in cui l'accesso rapido senza ritardo è essenziale.: | Esempio: lo stato attuale dell'attacco di un utente o la salute attuale di un nemico, che deve essere accessibile immediatamente e senza il ritardo coinvolto nell'esecuzione di servizi esterni come archivi di dati o memoria. | |
Interazioni multiplayer che hanno importanza solo all'interno di un singolo Server. | Esempio: un obiettivo condiviso nell'esperienza di missione co-op. |