Roblox offre diverse opzioni per l'archiviazione dei dati. Ogni opzione di archiviazione ha pro e contro ed è adatta a diversi casi d'uso. Questa tabella riassume le opzioni disponibili e fornisce i punti di confronto più vicini dai servizi web standard.
| Servizio | Persistenza | Ambito | Accesso in gioco | Confronto cloud |
|---|---|---|---|---|
| Archiviazioni di dati | Permanente | Cross-server | Lettura-scrittura | Database NoSQL |
| Archiviazioni in memoria | Massimo 45 giorni | Cross-server | Lettura-scrittura | Cache in memoria |
| Configurazioni | Permanente | Cross-server | Solo lettura | Configurazione dell'app e flag delle funzionalità |
| Archiviazioni di segreti | Permanente | Cross-server | Solo lettura | Gestione dei segreti |
| Luau in memoria | Durata della sessione | Singolo server | Lettura-scrittura | RAM del server |
Quando utilizzare le archiviazioni di dati
DataStoreService archivia dati a lungo termine che devono durare tra le sessioni, come il progresso degli utenti o gli oggetti inventario. Le archiviazioni di dati sono coerenti per gioco, quindi ogni server per ogni luogo all'interno di un gioco può accedere e modificare gli stessi dati. Ci sono due tipi di archiviazioni di dati: standard e ordinate.
Archiviazioni di dati standard possono memorizzare dati come numeri, stringhe e tabelle che non devono essere ordinati. Memorizzano i dati come coppie chiave-valore; ogni voce è memorizzata sotto una chiave che è unica all'interno della sua archiviazione di dati e che puoi recuperare, aggiornare o eliminare. Per ulteriori informazioni, vedere Archiviazioni di dati.
Archiviazioni di dati ordinate possono memorizzare solo numeri. Ogni voce è memorizzata sotto una chiave che è unica all'interno della sua archiviazione di dati e che puoi recuperare, aggiornare o eliminare. Puoi classificare e ordinare questi dati numericamente e recuperarli in ordine crescente o decrescente in base ai valori numerici memorizzati. Per ulteriori informazioni, vedere Archiviazioni di dati ordinate.
| Archiviazioni di dati standard | Archiviazioni di dati ordinate | |
|---|---|---|
| Tipo di dati | Numeri, stringhe, booleani e tabelle. | Solo numeri. |
| Casi d'uso comuni | Progresso degli utenti, oggetti inventario e impostazioni di gioco. | Sistemi di ranking persistenti e classifiche di tutto il tempo. A differenza delle classifiche nelle archiviazioni in memoria, questi dati di classifica sono permanenti. |
| Backup delle versioni passate | Gestisce automaticamente le versioni precedenti dei tuoi dati per 30 giorni. | Non gestisce le versioni precedenti dei tuoi dati. |
Quando utilizzare le archiviazioni in memoria
MemoryStoreService è un servizio ad alta capacità e bassa latenza che archivia dati temporanei che devono essere aggiornati o accessibili frequentemente, come classifiche globali o code di matchmaking. Con le archiviazioni in memoria, ogni server per ogni luogo all'interno di un gioco può accedere e modificare rapidamente e frequentemente gli stessi dati. I dati in un'archiviazione in memoria scadono dopo un certo periodo di tempo, fino a 45 giorni.
Se hai bisogno di leggere rapidamente (non scrivere) un numero limitato di valori su tutti i server, le configurazioni sono la scelta migliore. Le archiviazioni in memoria non sono performanti come le configurazioni quando si accede frequentemente a una singola chiave o partizione.
Sebbene le archiviazioni in memoria memorizzino dati temporanei, supportano anche funzionalità permanenti come un mercato globale. Il mercato è permanente, ma gli oggetti in vendita al suo interno hanno una data di scadenza.
| Archiviazioni in memoria | |
|---|---|
| Tipo di dati | Numeri, stringhe, booleani e tabelle che non devono persistere per oltre 45 giorni. |
| Casi d'uso comuni | Matchmaking basato su abilità, stati di partita per giochi multiplayer. |
| Classifiche giornaliere e mensili. |
Quando utilizzare le configurazioni
Configurazioni ti consentono di aggiornare le variabili in gioco in tempo reale senza riavviare i server. Sono ideali per flag delle funzionalità e qualsiasi valore in gioco che speri di regolare nel tempo o con cui sperimentare.
- Le configurazioni sono in sola lettura all'interno di un gioco—le modifichi su Creator Hub o in Roblox Studio—quindi non servono gli stessi casi d'uso delle archiviazioni di dati e delle archiviazioni in memoria.
- Le modifiche alle configurazioni vengono distribuite nel corso di cinque minuti; le modifiche ai dati e alle archiviazioni in memoria sono più istantanee.
| Configurazioni | |
|---|---|
| Tipo di dati | Numeri, stringhe, booleani e oggetti JSON. |
| Casi d'uso comuni | Abilitare un nuovo dungeon, disabilitare una modalità di gioco a tempo limitato, avviare un evento festivo. |
| Salute dei nemici, danno delle armi, prezzi degli oggetti, moltiplicatori di gioco, messaggi di benvenuto. |
Quando utilizzare le archiviazioni di segreti
Usa l'archiviazione di segreti per il tuo gioco per memorizzare qualsiasi chiave API, password e token di accesso che utilizzi per autenticarti con servizi esterni. Memorizzare questi valori in un'archiviazione di dati presenta rischi di sicurezza non necessari.
| Archiviazioni di segreti | |
|---|---|
| Tipo di dati | Stringhe. |
| Casi d'uso comuni | Chiavi API, password e token di accesso per servizi di analisi o musicali. |
Quando utilizzare l'archiviazione in memoria in Luau
Usa l'archiviazione in memoria in Luau per memorizzare dati temporanei che devono essere accessibili con una latenza minima e senza il costo di effettuare chiamate a servizi esterni. Questa archiviazione è integrata in Luau e non richiede configurazione.
| Archiviazione in memoria in Luau | |
|---|---|
| Tipo di dati | Numeri, stringhe, booleani e tabelle. |
| Casi d'uso comuni | Dati che sono rilevanti solo per una singola sessione del server e non devono persistere, come effetti di stato o punti temporanei che si azzerano quando l'utente lascia il gioco. |
| Valori che cambiano frequentemente, come contatori, timer, flag di stato o una barra della salute. | |
| Dati che guidano la logica del gioco, che devono essere accessibili istantaneamente, come variabili temporanee o la salute attuale di un nemico. |