Per memorizzare i dati, puoi usare archivi di dati con il DataStoreService o archivi di memoria con il 2> Class.MemoryStoreService2> .
In alternativa, puoi anche utilizzare i tipi e le variabili Lua per memorizzare i dati in memoria in Lua, senza utilizzare i servizi di memorizzazione dei dati o della memoria.
Quando utilizzare i magazzini di dati
Il DataStoreService memorizza i dati a lungo termine che hanno bisogno di durare tra le sessioni, come il progresso dell'utente o gli elementi dell'inventario. I magazzini di dati sono coerenti per esperienza, quindi ogni server per ogni luogo all'interno di un'esperienza può accedere e modificare gli stessi dati. Ci sono due tipi di magazzini di dati: standard e ordinati. I negozi di dati standard possono memorizzare dati come numeri, stringhe e tabelle che non hanno bisogno di essere classificati o ordinati. Questo dati viene memorizzato come coppie di valore chiave, in cui ogni rigo viene memorizzato sotto una chiave che è unica nel suo datastore e che puoi Recuperare, aggiornare o eliminare. I magazzini di dati ordinati possono memorizzare solo numeri. Ogni rigo viene memorizzato sotto una chiave che è unica nel suo magazzino dati e che puoi Recuperare, Aggiornarmentoo Eliminare. Puoi classificare e ordinare questo dati numericamente e recuperarlo in ordine ascendente o discendente in base ai valori numerici memorizzati. Per ulteriori informazioni, vedi I magazzini di dati ordinati .
Archivi di dati standard > | Archivi di dati ordinati | >|
---|---|---|
Tipo di dati | Nummeri, stringhe, booleani e tabelle. | Solo numeri. |
Casi d'uso comuni | Progresso utente, oggetti dell'inventario e impostazioni dell'esperienza. | Sistemi di classifica a tempo pieno e persistente. A differenza delle classifiche dei leader, questi dati di classifica sono permanenti. |
backup della versione passata | Gestisce automaticamente le versioni precedenti dei tuoi dati per 30 giorni. | Non gestisce le versioni precedenti dei tuoi dati. |
Quando utilizzare i server di memoria
Il MemoryStoreService è un servizio ad alta velocità e bassa latenza che memorizza i dati temporanei che devono essere aggiornati o acceduti con frequenza, come le classifiche globali o le code di matchmaking. Con i magazzini di memoria, ogni server per ogni luogo all'interno di un'esperienza può accedere e modificare i dati allo stesso modo rapidamente e frequentemente. I dati in un magazzino di memoria scadono dopo un certo periodo
I server di memoria memorizzano dati temporanei, ma supportano anche funzionalità permanenti come un Marketplaceglobale. Il mercato è permanente, ma gli elementi in vendita all'interno di esso hanno una scadenza.
Negozi di memoria > | |
---|---|
Tipo di dati | Nummeri, stringhe, booleani e tabelle che non hanno bisogno di persistere per più di 45 giorni. |
Casi d'uso comuni | MATCH basato sulla skill, statistiche di match per giochi multiplayer, classifiche giornaliere e mensili. |
Quando utilizzare lo storage in memoria in Lua
Puoi usare il storage in memoria in Lua per memorizzare dati temporanei che devono essere accessibili con una latenza minima e senza il costo di fare chiamate esterne ai dati o alle memorie. Non sono richiesti passaggi extra per configurare lo storage in memoria come è già costruito in Lua.
In-Memory storage in Lua | ||
---|---|---|
Tipo di dati | Nummeri, stringhe, booleani e tabelle. | |
Casi d'uso comuni | I dati che sono rilevanti solo per una singola sessione del server e che puoi aggiornare istantaneamente senza preoccuparti della persistenza. | Esempio: Buff attivi, punti temporanei e progresso delle missioni 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 dell'utente che si aggiorna con ogni colpo. | |
Evitare le limitazioni del tasso di frequenza per le operazioni ad alta frequenza in grandi esperienze attive. | Esempio: un'esperienza con decine di utenti che interagiscono con lo stesso oggetto. | |
I dati che guidano la logica di gioco, come le variabili temporanee o gli stati di potenziamento dove l'accesso rapido senza ritardo è essenziale. | Esempio: lo stato dell'attacco dell'utente o la salute dell'nemico, che deve essere accessibile istantaneamente e senza il lag che si verifica quando si chiama servizi esterni come archivi di dati o memorie. | |
Interazioni multiplayer che hanno solo importanza all'interno di un singolo Server. | Esempio: Un obiettivo condiviso in un'esperienza di missione co-op. |